# docker-compose.yml version: '3.8' services: barrons-crawler: build: . container_name: barrons-crawler restart: unless-stopped environment: # 爬蟲設定 - CHECK_INTERVAL=300 # 5分鐘 - LOG_LEVEL=INFO # 電子郵件設定(可選) - EMAIL_SMTP_SERVER=smtp.gmail.com - EMAIL_SMTP_PORT=587 - EMAIL_FROM=your_email@gmail.com - EMAIL_TO=notification@gmail.com - EMAIL_USERNAME=your_email@gmail.com - EMAIL_PASSWORD=your_app_password # Webhook 設定(可選) - WEBHOOK_URL=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK # Discord 設定(可選) - DISCORD_WEBHOOK=https://discord.com/api/webhooks/YOUR/DISCORD/WEBHOOK volumes: - ./data:/app/data # 資料持久化 - ./logs:/app/logs # 日誌持久化 ports: - "8080:8080" # 健康檢查和狀態 API healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # 可選:加入 Redis 用於快取 redis: image: redis:7-alpine container_name: barrons-redis restart: unless-stopped volumes: - redis_data:/data command: redis-server --appendonly yes volumes: redis_data: