version: "3.9" services: # ─── Node.js Orchestration Service ────────────────────────── node-service: build: context: . dockerfile: Dockerfile.node ports: - "3000:3000" environment: - NODE_ENV=development env_file: - .env depends_on: - python-service - redis restart: unless-stopped # ─── Python AI Profiling Service ──────────────────────────── python-service: build: context: ./src/profiling/python-service dockerfile: Dockerfile.python ports: - "8000:8000" env_file: - .env volumes: - ./src/profiling/python-service:/app restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 # ─── Redis (queue + cache) ─────────────────────────────────── redis: image: redis:7-alpine ports: - "6379:6379" restart: unless-stopped # ─── Ollama (local LLM) ────────────────────────────────────── # Comment out if running Ollama natively on host # ollama: # image: ollama/ollama:latest # ports: # - "11434:11434" # volumes: # - ollama_data:/root/.ollama # restart: unless-stopped volumes: ollama_data: