version: '3.8' services: # Main trading system trading-system: build: . container_name: algorithmic-trading ports: - "8000:8000" volumes: - ./data:/app/data - ./logs:/app/logs - ./models:/app/models - ./config.yaml:/app/config.yaml:ro environment: - PYTHONPATH=/app - LOG_LEVEL=INFO command: ["python", "-m", "agentic_ai_system.main", "--mode", "live", "--duration", "300"] restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] interval: 30s timeout: 10s retries: 3 start_period: 40s # FinRL training service finrl-training: build: . container_name: finrl-training volumes: - ./data:/app/data - ./logs:/app/logs - ./models:/app/models - ./config.yaml:/app/config.yaml:ro environment: - PYTHONPATH=/app - LOG_LEVEL=INFO command: ["python", "finrl_demo.py"] restart: "no" depends_on: - trading-system # Backtesting service backtesting: build: . container_name: backtesting volumes: - ./data:/app/data - ./logs:/app/logs - ./config.yaml:/app/config.yaml:ro environment: - PYTHONPATH=/app - LOG_LEVEL=INFO command: ["python", "-m", "agentic_ai_system.main", "--mode", "backtest", "--start-date", "2024-01-01", "--end-date", "2024-12-31"] restart: "no" depends_on: - trading-system # Development service with Jupyter development: build: . container_name: trading-dev ports: - "8888:8888" volumes: - ./data:/app/data - ./logs:/app/logs - ./models:/app/models - ./config.yaml:/app/config.yaml:ro - .:/app environment: - PYTHONPATH=/app - LOG_LEVEL=DEBUG command: ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''"] restart: unless-stopped volumes: data: logs: models: