fix: Dockerfile chmod 에러 수정 및 환경변수 지원 추가

- Dockerfile: chmod 명령어에 RUN 추가
- .env.example: 모든 설정 항목 및 자세한 주석 추가
- config.yaml: 각 설정 항목에 대한 상세 주석 추가
- config.sample.yaml: 샘플 파일 주석 개선
- conf/db.py: 환경변수 우선 적용 기능 추가
- lib/common.py: load_config에 환경변수 오버라이드 지원
- 환경변수로 모든 설정값 제어 가능 (DB, API, POS 등)
This commit is contained in:
2025-12-26 17:42:20 +09:00
parent 7121f250bc
commit 98d633ead8
5 changed files with 214 additions and 54 deletions

View File

@ -1,21 +1,66 @@
# Database Configuration
DB_HOST=mariadb
DB_PORT=3306
DB_NAME=firstgarden
DB_USER=firstgarden
DB_PASSWORD=Fg9576861!
DB_ROOT_PASSWORD=rootpassword
# ===== Database Configuration =====
# MariaDB 데이터베이스 연결 정보
DB_HOST=mariadb # 데이터베이스 호스트명 (Docker 서비스명 또는 localhost)
DB_PORT=3306 # MariaDB 포트 (기본값: 3306)
DB_NAME=firstgarden # 데이터베이스 이름
DB_USER=firstgarden # 데이터베이스 사용자명
DB_PASSWORD=Fg9576861! # 데이터베이스 비밀번호
DB_ROOT_PASSWORD=rootpassword # MariaDB root 비밀번호 (Docker 컨테이너용)
# Logging
LOG_LEVEL=INFO
# ===== Database Table Configuration =====
TABLE_PREFIX=fg_manager_static_ # 테이블명 접두사
# Timezone
TZ=Asia/Seoul
# ===== Data.go.kr API Configuration =====
# 공공데이터포털 API 키 (대기질, 날씨 데이터 수집용)
DATA_API_SERVICE_KEY=mHrZoSnzVc+2S4dpCe3A1CgI9cAu1BRttqRdoEy9RGbnKAKyQT4sqcESDqqY3grgBGQMuLeEgWIS3Qxi8rcDVA==
DATA_API_START_DATE=20170101 # 데이터 수집 시작 날짜 (YYYYMMDD)
DATA_API_END_DATE=20250701 # 데이터 수집 종료 날짜 (YYYYMMDD)
# Python Configuration
PYTHONUNBUFFERED=1
PYTHONDONTWRITEBYTECODE=1
# 대기질 측정소 (쉼표로 구분)
AIR_STATION_NAMES=운정
# API Keys (keep secure, use actual values in production)
# DATA_API_SERVICE_KEY=your_service_key_here
# GA4_API_TOKEN=your_ga4_token_here
# 날씨 관측소 ID (쉼표로 구분)
WEATHER_STN_IDS=99
# ===== Google Analytics 4 Configuration =====
# GA4 API 설정 (방문자 데이터 수집용)
GA4_API_TOKEN=AIzaSyCceJkv02KvwRKzU0IdBRlQ2zHh2yzkLkA
GA4_PROPERTY_ID=384052726 # GA4 속성 ID
GA4_SERVICE_ACCOUNT_FILE=./conf/service-account-credentials.json
GA4_START_DATE=20170101 # GA4 데이터 수집 시작 날짜
GA4_END_DATE=20990731 # GA4 데이터 수집 종료 날짜
GA4_MAX_ROWS_PER_REQUEST=10000 # 한 번에 가져올 최대 행 수
# ===== POS Configuration =====
# UPSolution POS 시스템 연동 정보
UPSOLUTION_ID=firstgarden # UPSolution 계정 ID
UPSOLUTION_CODE=1112 # UPSolution 점포 코드
UPSOLUTION_PW=9999 # UPSolution 계정 비밀번호
# 방문객 카테고리 (쉼표로 구분)
VISITOR_CATEGORIES=입장료,티켓,기업제휴
# ===== Forecast Weight Configuration =====
# 방문객 예측 모델 가중치 설정
FORECAST_VISITOR_MULTIPLIER=0.5 # 최종 예측 방문객 가중치
FORECAST_WEIGHT_MIN_TEMP=1.0 # 최저기온 가중치
FORECAST_WEIGHT_MAX_TEMP=1.0 # 최고기온 가중치
FORECAST_WEIGHT_PRECIPITATION=10.0 # 강수량 가중치
FORECAST_WEIGHT_HUMIDITY=1.0 # 습도 가중치
FORECAST_WEIGHT_PM25=1.0 # 미세먼지(PM2.5) 가중치
FORECAST_WEIGHT_HOLIDAY=20 # 휴일 여부 가중치
# ===== Application Configuration =====
MAX_WORKERS=4 # 병렬 처리 worker 수
DEBUG=false # 디버그 모드 (true/false)
FORCE_UPDATE=false # 중복 데이터 덮어쓰기 여부 (true/false)
# ===== Logging Configuration =====
LOG_LEVEL=INFO # 로그 레벨 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
# ===== Timezone Configuration =====
TZ=Asia/Seoul # 시스템 타임존
# ===== Python Configuration =====
PYTHONUNBUFFERED=1 # Python 출력 버퍼링 비활성화
PYTHONDONTWRITEBYTECODE=1 # .pyc 파일 생성 비활성화