c5e84a578b
Task 0 del piano (adattato a workspace uv): - services/mcp-docugen/: pyproject.toml, src/mcp_docugen/, tests/unit+integration/, README, .env.example. Package rinominato da docugen_mcp -> mcp_docugen. - Root pyproject.toml: aggiunto services/mcp-docugen a workspace members. - .python-version: 3.11 - uv.lock committato. Docker stack stile CerberoSuite/Cerbero con prefisso "arca-": - docker/base.Dockerfile -> arca-base:latest - docker/mcp-docugen.Dockerfile -> arca-mcp-docugen:dev (porta interna 9100, label arca.service, runtime multi-stage, user non-root, healthcheck) - docker-compose.yml root: gateway Caddy unica porta host (8080) + mcp-docugen su rete interna. Security defaults cap_drop ALL, no-new-privileges, read_only ove applicabile, restart unless-stopped. - gateway/Caddyfile: reverse proxy /mcp-docugen/* -> mcp-docugen:9100 + landing. - gateway/public/index.html: landing page minimale. .env.example root aggiornato con DOCUGEN_API_KEY + OPENROUTER_API_KEY condivisa. Task 1-12 (implementazione TDD effettiva) ancora da fare. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
448 B
Bash
19 lines
448 B
Bash
# Authentication (bearer token che i client MCP passano)
|
|
API_KEY=
|
|
|
|
# OpenRouter
|
|
OPENROUTER_API_KEY=
|
|
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
|
LLM_MODEL_DEFAULT=anthropic/claude-sonnet-4
|
|
|
|
# URL pubblico usato per costruire link asset nel Markdown generato
|
|
PUBLIC_BASE_URL=https://mcp-docugen.<dominio>
|
|
|
|
# Storage persistente (mappato su volume in Docker)
|
|
DATA_DIR=/data
|
|
|
|
# Limiti
|
|
ASSET_TTL_DAYS=30
|
|
MAX_IMAGE_SIZE_MB=10
|
|
LLM_TIMEOUT_SECONDS=60
|