services: postgres: image: postgres:16 restart: unless-stopped environment: POSTGRES_DB: zerotrade POSTGRES_USER: zerotrade POSTGRES_PASSWORD: zerotrade volumes: - postgres-data:/var/lib/postgresql/data redis: image: redis:7 restart: unless-stopped ollama: image: ollama/ollama:latest restart: unless-stopped volumes: - ollama-data:/root/.ollama portal: build: context: ../../ dockerfile: portal/Dockerfile restart: unless-stopped environment: PORT: 3000 agent: build: context: ../../ dockerfile: agent/Dockerfile restart: unless-stopped environment: ZEROTRADE_ENV: production ZEROTRADE_STATE_DIR: /var/lib/zerotrade volumes: - agent-state:/var/lib/zerotrade oracle: build: context: ../../ dockerfile: services/oracle/Dockerfile restart: unless-stopped replay: build: context: ../../ dockerfile: services/replay/Dockerfile restart: unless-stopped uplink: build: context: ../../ dockerfile: services/uplink/Dockerfile restart: unless-stopped nginx: image: nginx:1.27 restart: unless-stopped depends_on: - portal - agent volumes: - ../nginx/zerotrade.compose.conf:/etc/nginx/conf.d/default.conf:ro ports: - "80:80" prometheus: image: prom/prometheus:v3.2.1 restart: unless-stopped volumes: - ../prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro ports: - "9090:9090" volumes: postgres-data: ollama-data: agent-state: