Files
MidasBot/docker-compose.yml
jerem 633b033f4d MidasBot: bot trading crypto IA + stratégies Ichimoku validées
- Infra: Freqtrade (futures dry-run) + Redis + dashboard + Docker Compose
- Couche IA: ai_analyzer (Claude via abonnement, MCP TradingView, backfill biais)
- Stratégies: SampleStrategy, AiBiasStrategy, IchimokuLS (long/short, validée
  train/test + données vierges + walk-forward), MTFIchimoku, variantes hyperopt
- Arbitrage CEX (dry-run), backtesting, walk-forward, volatility targeting
- IchimokuLS en dry-run live (config_live.json)

Claude-Session: https://claude.ai/code/session_01VHETcFacdnDhQzthLpdYFR
2026-06-23 19:25:49 +02:00

93 lines
2.9 KiB
YAML

# 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: