# ───────────────────────────────────────────────────────────── # TriplePick 백엔드 환경변수 — 복사: cp .env.example .env # ───────────────────────────────────────────────────────────── # DB (docker-compose 내부 네트워크 기본값). 로컬 단독이면 localhost 로. DATABASE_URL=postgresql+asyncpg://triplepick:triplepick@db:5432/triplepick # 일반 TIMEZONE=Asia/Seoul CORS_ORIGINS=* PUBLIC_ORIGIN=http://localhost:8080 # 투표 윈도우 (도메인 규칙) VOTE_OPEN_HOURS_BEFORE=48 # 오픈 = 킥오프 D-2 VOTE_LOCK_MINUTES_BEFORE=60 # 마감 = 킥오프 1시간 전 DEMO_FORCE_OPEN=true # 운영 배포 시 false # 스케줄링 서버 (워커) # 경기 일정 동적 수집: 매일 KST 09:00 외부 소스에서 일정·투표시간 갱신 SCHEDULE_SYNC_HOUR=9 SCHEDULE_SYNC_MINUTE=0 SCHEDULE_SOURCE=openfootball # openfootball(키 불필요) | football-data(토큰) | fallback SCHEDULE_URL=https://raw.githubusercontent.com/openfootball/worldcup.json/master/2026/worldcup.json SCHEDULE_GROUP=Group A FOOTBALL_DATA_TOKEN= # SCHEDULE_SOURCE=football-data 일 때 FOOTBALL_DATA_COMPETITION=WC AI_GENERATE_HOUR=0 # 매일 KST 00:05 AI 예측 생성 AI_GENERATE_MINUTE=5 RESULT_EMAIL_DELAY_MINUTES=180 # 경기 종료 3시간 후 결과 메일 STATUS_TICK_SECONDS=60 # 관리자 (강한 토큰으로 교체) ADMIN_API_TOKEN=change-me-admin-token # ── 외부 연동: AI 3모델 (실연동, 키 없으면 해당 모델 생성 생략) ── OPENAI_API_KEY= OPENAI_MODEL=gpt-4o ANTHROPIC_API_KEY= ANTHROPIC_MODEL=claude-opus-4-8 GOOGLE_API_KEY= GOOGLE_MODEL=gemini-2.5-flash # ── 외부 연동: 이메일 (SMTP, 실연동) ── SMTP_HOST= SMTP_PORT=587 SMTP_USER= SMTP_PASSWORD= SMTP_FROM=TriplePick SMTP_STARTTLS=true