version: "3.9" services: redis: image: redis:7-alpine container_name: stockbot-redis restart: unless-stopped volumes: - ./data/redis:/data stockbot: build: ./app container_name: stockbot-main restart: unless-stopped depends_on: - redis env_file: .env volumes: - ./data:/app/data - ./logs:/app/logs environment: - TZ=Asia/Seoul logging: driver: "json-file" options: max-size: "10m" max-file: "5" dashboard: build: ./app container_name: stockbot-dashboard restart: unless-stopped command: streamlit run monitor/dashboard.py --server.port 8501 ports: - "8501:8501" env_file: .env volumes: - ./data:/app/data environment: - TZ=Asia/Seoul claude-morning: build: ./claude_morning container_name: claude-morning restart: "no" env_file: .env volumes: - ./data:/app/data - ./logs:/app/logs - ./reports:/app/reports environment: - TZ=Asia/Seoul profiles: ["morning"] claude-evening: build: ./claude_evening container_name: claude-evening restart: "no" env_file: .env volumes: - ./data:/app/data - ./logs:/app/logs - ./reports:/app/reports - ./app:/app/app environment: - TZ=Asia/Seoul profiles: ["evening"] kill-switch: build: ./kill_switch container_name: stockbot-killswitch restart: "no" env_file: .env profiles: ["emergency"]