# MidasBot — orchestration des services. # Phase 1-2 : freqtrade + redis. ai-analyzer / dashboard ajoutés aux phases 3 et 5. services: freqtrade: build: ./freqtrade # image officielle + client redis (cf. freqtrade/Dockerfile) image: midas-freqtrade:latest container_name: midas-freqtrade restart: unless-stopped depends_on: - redis volumes: - "./freqtrade/user_data:/freqtrade/user_data" ports: - "127.0.0.1:8080:8080" # FreqUI / API server — exposé en local uniquement env_file: - .env # Dry-run par défaut. La stratégie est passée en argument ; on démarre sur SampleStrategy # (Phase 1) puis AiBiasStrategy (Phase 3). command: > trade --logfile /freqtrade/user_data/logs/freqtrade.log --db-url sqlite:////freqtrade/user_data/tradesv3.ichimoku.sqlite --config /freqtrade/user_data/config_live.json --strategy IchimokuLS # Service IA — nécessite CLAUDE_CODE_OAUTH_TOKEN dans .env (claude setup-token). # Démarrage explicite : docker compose --profile ai up -d ai-analyzer ai-analyzer: build: context: . dockerfile: ai_analyzer/Dockerfile image: midas-ai-analyzer:latest container_name: midas-ai-analyzer restart: unless-stopped profiles: ["ai"] depends_on: - redis env_file: - .env environment: REDIS_URL: redis://redis:6379/0 ANALYZER_PAIRS: "BTC/USDT,ETH/USDT,SOL/USDT,BNB/USDT" ANALYZER_TIMEFRAME: "1h" ANALYZER_INTERVAL_S: "3600" ANALYZER_MODEL: "claude-sonnet-4-6" # Décommenter pour activer le MCP TradingView (voir .mcp.json) : # ANALYZER_MCP_CONFIG: "/app/.mcp.json" # ANALYZER_ALLOWED_TOOLS: "mcp__tradingview" # Scanner d'arbitrage inter-CEX (dry-run). Démarrage : docker compose --profile arb up -d arbitrage arbitrage: build: context: . dockerfile: arbitrage/Dockerfile image: midas-arbitrage:latest container_name: midas-arbitrage restart: unless-stopped profiles: ["arb"] environment: ARB_EXCHANGES: "binance,kraken" ARB_PAIRS: "BTC/USDT,ETH/USDT" ARB_MIN_SPREAD_PCT: "0.2" ARB_INTERVAL_S: "30" # Dashboard « Insights IA » (FastAPI) — lit les biais dans Redis. dashboard: build: context: . dockerfile: dashboard/Dockerfile image: midas-dashboard:latest container_name: midas-dashboard restart: unless-stopped depends_on: - redis ports: - "127.0.0.1:8500:8500" environment: REDIS_URL: redis://redis:6379/0 FREQUI_URL: http://127.0.0.1:8080 # ouvert dans le navigateur de l'hôte redis: image: redis:7-alpine container_name: midas-redis restart: unless-stopped command: ["redis-server", "--save", "60", "1", "--appendonly", "no"] ports: - "127.0.0.1:6380:6379" # hôte:6380 (6379 déjà pris) ; les conteneurs utilisent redis:6379 volumes: - redis-data:/data volumes: redis-data: