# ═══════════════════════════════════════════════════════════════════════════════ # Auto Stock Trading System — 환경 설정 템플릿 # ═══════════════════════════════════════════════════════════════════════════════ # 이 파일을 복사하여 .env 파일을 만드세요: # cp .env.example .env # # ⚠️ 운영 환경 필수 체크리스트: # 1. SECRET_KEY를 강력한 랜덤 문자열로 변경 (최소 64자) # python -c "import secrets; print(secrets.token_urlsafe(64))" # 2. POSTGRES_PASSWORD를 강력한 비밀번호로 변경 # 3. REDIS_PASSWORD를 설정하고 REDIS_URL에 반영 # 4. DEBUG=false 설정 # 5. CORS_ORIGINS를 실제 도메인만 허용 # 6. BACKEND_HOST=127.0.0.1 (리버스 프록시 사용 시) # 7. MCP_API_KEY를 강력한 키로 변경 # # 설정 참조 문서: CLAUDE.md 섹션 1.2, 4.3 # ═══════════════════════════════════════════════════════════════════════════════ # ─── 서버 & 환경 ────────────────────────────────────────────────────────────── BACKEND_HOST=0.0.0.0 BACKEND_PORT=8000 DEBUG=false LOG_LEVEL=info # ─── Telegram 알림 (빈 문자열이면 비활성화) ────────────────────────────────────── TELEGRAM_BOT_TOKEN= TELEGRAM_CHAT_ID= # ─── 보안 ───────────────────────────────────────────────────────────────────── # ⚠️ 반드시 변경! python -c "import secrets; print(secrets.token_urlsafe(64))" SECRET_KEY=CHANGE_ME_USE_python_secrets_token_urlsafe_64 ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 # ─── 데이터베이스 (PostgreSQL 15) ───────────────────────────────────────────── # docker-compose에서 사용하는 변수 (⚠️ 비밀번호 변경 필수) POSTGRES_USER=stock POSTGRES_PASSWORD=CHANGE_ME_STRONG_PASSWORD POSTGRES_DB=stock # SQLAlchemy Async URL (Docker 환경에서는 localhost→postgres 자동 변환) DATABASE_URL=postgresql+asyncpg://stock:CHANGE_ME_STRONG_PASSWORD@localhost:5432/stock # ─── Redis 7 ────────────────────────────────────────────────────────────────── # ⚠️ 운영 환경에서 반드시 비밀번호를 설정하세요 REDIS_PASSWORD=CHANGE_ME_REDIS_PASSWORD REDIS_URL=redis://:CHANGE_ME_REDIS_PASSWORD@localhost:6379/0 # ─── RabbitMQ 3 ─────────────────────────────────────────────────────────────── RABBITMQ_DEFAULT_USER=guest RABBITMQ_DEFAULT_PASS=guest RABBITMQ_URL=amqp://guest:guest@localhost:5672/ # ─── KIS API (한국투자증권) ─────────────────────────────────────────────────── # KIS_MODE: "virtual" (모의투자) 또는 "real" (실전투자) KIS_MODE=virtual # 모의투자 (Virtual Trading) KIS_VIRTUAL_APP_KEY=your_virtual_app_key_here KIS_VIRTUAL_APP_SECRET=your_virtual_app_secret_here KIS_VIRTUAL_ACCOUNT_NO=your_virtual_account_number_here KIS_VIRTUAL_URL=https://openapivts.koreainvestment.com:29443 KIS_WS_VIRTUAL_URL=wss://openapivts.koreainvestment.com:29443/websocket # 실전투자 (Real Trading) KIS_REAL_APP_KEY=your_real_app_key_here KIS_REAL_APP_SECRET=your_real_app_secret_here KIS_REAL_ACCOUNT_NO=your_real_account_number_here KIS_REAL_URL=https://openapi.koreainvestment.com:9443 KIS_WS_REAL_URL=wss://openapi.koreainvestment.com:21000/websocket # ─── AI & MCP ───────────────────────────────────────────────────────────────── # AI_PROVIDER: "gemini" 또는 "claude" (CLAUDE.md 섹션 1.2) AI_PROVIDER=gemini ANTHROPIC_API_KEY=your_anthropic_api_key_here GEMINI_API_KEY=your_gemini_api_key_here GEMINI_MODEL=gemini-2.0-flash CLAUDE_MODEL=claude-3-5-sonnet-20241022 CLAUDE_MAX_TOKENS=4096 # MCP 서버 (⚠️ MCP_API_KEY 변경 필수) MCP_SERVER_URL=http://localhost:8001 MCP_SERVER_HOST=0.0.0.0 MCP_SERVER_PORT=8001 MCP_API_KEY=CHANGE_ME_MCP_API_KEY MCP_VALIDATION_ENABLED=true # ─── 외부 API ───────────────────────────────────────────────────────────────── DATAGOKR_API_KEY=your_data_go_kr_api_key_here NEWS_API_KEY= NEWS_ENABLED=true NEWS_COLLECT_INTERVAL=1800 NEWS_CACHE_TTL=1800 NEWS_BLOCK_SCORE=-0.5 NEWS_REDUCE_SCORE=-0.3 NEWS_MAX_ARTICLES=20 # ─── 토큰 절약 모드 ────────────────────────────────────────────────────────── # true: JSON 압축 + 차트 데이터 30일 제한 (AI 프롬프트 토큰 절약) TOKEN_SAVE_MODE=true # ─── 자동매매 ───────────────────────────────────────────────────────────────── AUTO_TRADE_ENABLED=true US_TRADING_ENABLED=false # ─── CORS ───────────────────────────────────────────────────────────────────── CORS_ORIGINS=http://localhost:3000,http://localhost:5173 # ─── WebSocket ──────────────────────────────────────────────────────────────── WS_HEARTBEAT_INTERVAL=30 WS_MESSAGE_QUEUE_SIZE=1000 # ─── 프론트엔드 (Vite 빌드 시 주입) ────────────────────────────────────────── VITE_API_URL=http://localhost:8000 VITE_WS_URL=ws://localhost:8000