5d78d865a4
- Dockerfile: use explicit uvicorn command (uv run start fails without package mode) - docker-compose: mount claude-auth volume to /root/.claude (worker runs as root) - worker: update to Claude Code SDK async iterable API (query() returns iterator, not array) - main.py: fix docs_url from /doc to /docs - README: correct login instructions (exec not run --rm), add production URLs - Add CLAUDE.md with full project documentation Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
953 B
YAML
47 lines
953 B
YAML
services:
|
|
fastapi-service:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "${API_PORT:-8000}:8000"
|
|
env_file: .env
|
|
volumes:
|
|
- opus-data:/data
|
|
depends_on:
|
|
claude-worker:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"python",
|
|
"-c",
|
|
"import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health')",
|
|
]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
claude-worker:
|
|
build:
|
|
context: ./worker
|
|
dockerfile: Dockerfile
|
|
expose:
|
|
- "3001"
|
|
env_file: .env
|
|
volumes:
|
|
- opus-data:/data
|
|
- claude-auth:/root/.claude
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3001/health"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
volumes:
|
|
opus-data:
|
|
claude-auth:
|