docker-compose.yml 에서 환경 변수로 필요 정보를 입력하도록 설정, 그에 따라 .env 생성
This commit is contained in:
27
.env.example
Normal file
27
.env.example
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# 게시판 설정
|
||||||
|
BOARD_ID=news
|
||||||
|
BOARD_CA_NAME=레이니데이
|
||||||
|
BOARD_CONTENT=08:00 기상청 단기예보
|
||||||
|
BOARD_MB_ID=user_id
|
||||||
|
BOARD_NICKNAME=user_nickname
|
||||||
|
|
||||||
|
# 데이터베이스 설정
|
||||||
|
DB_HOST=db.example.com
|
||||||
|
DB_USER=db_username
|
||||||
|
DB_PASSWORD=db_password
|
||||||
|
DB_NAME=database_name
|
||||||
|
DB_CHARSET=utf8mb4
|
||||||
|
|
||||||
|
# FTP 설정
|
||||||
|
FTP_HOST=ftp.example.com
|
||||||
|
FTP_USER=ftp_username
|
||||||
|
FTP_PASSWORD=ftp_password
|
||||||
|
FTP_UPLOAD_DIR=/data/file/news/
|
||||||
|
|
||||||
|
# 날씨 API 서비스 키
|
||||||
|
SERVICE_KEY=your_weather_api_key_here
|
||||||
|
|
||||||
|
# Mattermost 알림 설정
|
||||||
|
MATTERMOST_URL=https://mattermost.example.com
|
||||||
|
MATTERMOST_TOKEN=your-personal-access-token
|
||||||
|
MATTERMOST_CHANNEL_ID=channel_id
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
config.py
|
config.sample.py
|
||||||
|
.env
|
||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
naver_review/build/
|
naver_review/build/
|
||||||
|
|||||||
62
autouploader/config.py
Normal file
62
autouploader/config.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
# .env 파일 로드 (python-dotenv 사용)
|
||||||
|
try:
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
load_dotenv()
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
TODAY = datetime.now().strftime('%Y%m%d')
|
||||||
|
|
||||||
|
# 게시판 설정
|
||||||
|
MAIN = {
|
||||||
|
'board': os.getenv('BOARD_ID', 'news'),
|
||||||
|
'ca_name': os.getenv('BOARD_CA_NAME', '레이니데이'),
|
||||||
|
'subject': '',
|
||||||
|
'content': os.getenv('BOARD_CONTENT', '08:00 기상청 단기예보'),
|
||||||
|
'mb_id': os.getenv('BOARD_MB_ID', 'user_id'),
|
||||||
|
'nickname': os.getenv('BOARD_NICKNAME', 'user_nickname'),
|
||||||
|
'file1': '',
|
||||||
|
'file2': '',
|
||||||
|
}
|
||||||
|
|
||||||
|
# 데이터베이스 설정
|
||||||
|
DB_CONFIG = {
|
||||||
|
'HOST': os.getenv('DB_HOST', 'localhost'),
|
||||||
|
'USER': os.getenv('DB_USER', 'db_user'),
|
||||||
|
'DBNAME': os.getenv('DB_NAME', 'database'),
|
||||||
|
'PASS': os.getenv('DB_PASSWORD', 'password'),
|
||||||
|
'CHARSET': os.getenv('DB_CHARSET', 'utf8mb4'),
|
||||||
|
}
|
||||||
|
|
||||||
|
# FTP 설정
|
||||||
|
FTP_CONFIG = {
|
||||||
|
'HOST': os.getenv('FTP_HOST', 'ftp.example.com'),
|
||||||
|
'USER': os.getenv('FTP_USER', 'ftp_user'),
|
||||||
|
'PASS': os.getenv('FTP_PASSWORD', 'ftp_password'),
|
||||||
|
'UPLOAD_DIR': os.getenv('FTP_UPLOAD_DIR', '/data/file/news/'),
|
||||||
|
}
|
||||||
|
|
||||||
|
# 날씨 API 서비스 키
|
||||||
|
serviceKey = os.getenv('SERVICE_KEY', '')
|
||||||
|
|
||||||
|
# Mattermost 설정
|
||||||
|
MATTERMOST_CONFIG = {
|
||||||
|
'URL': os.getenv('MATTERMOST_URL', ''),
|
||||||
|
'TOKEN': os.getenv('MATTERMOST_TOKEN', ''),
|
||||||
|
'CHANNEL_ID': os.getenv('MATTERMOST_CHANNEL_ID', ''),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def write_board():
|
||||||
|
# ... existing code ...
|
||||||
|
conn.close()
|
||||||
|
return True, None # 명시적 반환 추가
|
||||||
|
|
||||||
|
def some_function():
|
||||||
|
# ... existing code ...
|
||||||
|
success, error = capture_image(capture_script, weather_file) # msg_sender 추가
|
||||||
|
if not success:
|
||||||
|
return
|
||||||
@ -12,4 +12,5 @@ Pillow
|
|||||||
PyMySQL
|
PyMySQL
|
||||||
ftputil
|
ftputil
|
||||||
requests
|
requests
|
||||||
selenium
|
selenium
|
||||||
|
python-dotenv
|
||||||
|
|||||||
@ -8,6 +8,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
# - ./autouploader:/app
|
# - ./autouploader:/app
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
fg-webhook:
|
fg-webhook:
|
||||||
|
|||||||
Reference in New Issue
Block a user