services: backend: build: context: ./backend container_name: aetheros_backend ports: - "18000:8000" environment: # NVIDIA NIM — Hermes-3 planner + Nemotron analyst share one key/endpoint. - NVIDIA_API_KEY=${NVIDIA_API_KEY:-} - NEMOTRON_API_KEY=${NEMOTRON_API_KEY:-} # legacy alias, still accepted - NVIDIA_BASE_URL=${NVIDIA_BASE_URL:-https://integrate.api.nvidia.com/v1} - HERMES_MODEL=${HERMES_MODEL:-nousresearch/hermes-3-llama-3.1-70b} - NEMOTRON_MODEL=${NEMOTRON_MODEL:-} # Authari — the ONLY money path (AetherOS holds no Stripe key). - AUTHARI_URL=${AUTHARI_URL:-} - AUTHARI_API_KEY=${AUTHARI_API_KEY:-} - AUTHARI_AGENT_ID=${AUTHARI_AGENT_ID:-demo-agent-0001} extra_hosts: # Let the container reach Authari running on the host (Docker Desktop + Linux). - "host.docker.internal:host-gateway" volumes: - ./backend:/app depends_on: - redis command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload redis: image: redis:7-alpine container_name: aetheros_redis ports: - "6379:6379" volumes: - redis_data:/data frontend: build: context: ./frontend container_name: aetheros_frontend ports: - "13000:3000" volumes: - ./frontend:/app - /app/node_modules environment: - VITE_API_URL=http://localhost:18000 depends_on: - backend volumes: redis_data: