services: backend: build: context: . dockerfile: Dockerfile command: python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload env_file: - .env environment: DW_DB_PATH: /app/db/worldweaver.db WW_AGENT_RESIDENTS_DIR: /ww_agent/residents ports: - "8000:8000" volumes: - .:/app - ./db:/app/db - ../ww_agent:/ww_agent healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health', timeout=2)", ] interval: 10s timeout: 3s retries: 12 start_period: 10s client: build: context: . dockerfile: client/Dockerfile command: npm run dev -- --host 0.0.0.0 --port 5173 depends_on: backend: condition: service_healthy environment: VITE_PROXY_TARGET: http://backend:8000 ports: - "5173:5173" volumes: - ./client:/app/client - client_node_modules:/app/client/node_modules healthcheck: test: [ "CMD", "node", "-e", "fetch('http://localhost:5173/').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))", ] interval: 10s timeout: 3s retries: 20 start_period: 15s agent: build: context: ../ww_agent dockerfile: Dockerfile depends_on: backend: condition: service_healthy env_file: - .env environment: WW_SERVER_URL: http://backend:8000 volumes: - ../ww_agent:/app volumes: client_node_modules: