# Solo MONITOR (dashboard paper) del portafoglio attivo. Niente runner/esecuzione reale # (archiviati in Old/). v2.0.0+. services: dashboard: build: . container_name: pythagoras-dashboard restart: unless-stopped command: ["uv", "run", "python", "-m", "src.live.dashboard", "--port", "8787"] ports: - "8787:8787" volumes: - ./data:/app/data:ro # token mainnet (sola lettura) per lo "Shadow live": conto/posizioni reali sulla dashboard. # Montato a runtime (NON nell'immagine: .env.mainnet e' dockerignored). Solo letture, nessun ordine. - ./.env.mainnet:/app/.env.mainnet:ro # IB Gateway (PAPER) per la RICERCA DATI Interactive Brokers — replica il setup provato di BuzWay # (scout). IBC fa login automatico headless; nessuna GUI desktop. API READ-ONLY (solo dati storici, # MAI ordini). Bind SOLO su 127.0.0.1 -> non esposto in rete. Credenziali in .env.ibgw (gitignored). # host 4002 -> container 4004 (socat paper), esattamente come nel connect("127.0.0.1", 4002). ib-gateway: image: ghcr.io/gnzsnz/ib-gateway:stable container_name: pythagoras-ibgw restart: unless-stopped env_file: .env.ibgw environment: TRADING_MODE: paper READ_ONLY_API: "yes" # SOLO dati: nessun ordine possibile via API TWOFA_TIMEOUT_ACTION: restart TIME_ZONE: Europe/Rome ports: - "127.0.0.1:4002:4004" # gateway paper (socat) raggiungibile solo da localhost dell'host