fix: correct Docker setup, SDK async API, and docs

- 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>
This commit is contained in:
Adriano Dal Pastro
2026-05-25 20:35:44 +00:00
parent 6c53dd33bc
commit 5d78d865a4
6 changed files with 150 additions and 29 deletions
+11 -7
View File
@@ -24,16 +24,18 @@ Due container Docker:
# Edita .env: imposta API_KEY e le altre variabili
```
2. Autentica Claude Code nel worker:
```bash
docker compose run --rm claude-worker npx claude login
```
3. Avvia il sistema:
2. Avvia il sistema:
```bash
docker compose up -d
```
3. Autentica Claude Code nel worker (nel container attivo, non con `run --rm`):
```bash
docker compose exec claude-worker npx claude login
```
Le credenziali vengono salvate nel volume Docker `claude-auth` (mount: `/root/.claude`)
e persistono tra riavvii e rebuild. Si perdono solo con `docker compose down -v`.
4. Verifica:
```bash
curl -H "X-Api-Key: TUA_KEY" http://localhost:8000/api/health
@@ -56,7 +58,9 @@ uv run pytest -v
## API
Documentazione completa: `http://localhost:8000/doc`
Documentazione interattiva:
- Swagger UI: `https://opus-agent.tielogic.xyz/docs`
- ReDoc: `https://opus-agent.tielogic.xyz/redoc`
### Esempio d'uso