feat: add API Key authentication, Dockerfile, and docker-compose

- core/auth.py: API Key auth via header X-API-Key (env PDFTOOLKIT_API_KEY)
  - Modo dev: sem chave configurada → acesso livre
  - Modo produção: exige chave, retorna 401/403
- api.py: endpoints protegidos com Depends(_auth_required)
  - /health e / permanecem públicos
- Dockerfile: multi-stage (base → api → web)
- docker-compose.yml: api + web com healthcheck, volumes e rede
- .env.example: template de variáveis de ambiente
- README.md: seções de autenticação e Docker
This commit is contained in:
CM Consultor
2026-08-09 02:38:19 +00:00
parent 84d4a1eab5
commit f16c53bd4c
8 changed files with 351 additions and 59 deletions

11
.env.example Normal file
View File

@@ -0,0 +1,11 @@
# ── pdf-toolkit — Variáveis de Ambiente ─────────────────────────────
# Copie este arquivo para .env e ajuste os valores.
# ── Autenticação da API ─────────────────────────────────────────────
# Se vazio/omitido, a API roda sem autenticação (modo dev).
# Em produção, defina uma chave forte com 32+ caracteres.
PDFTOOLKIT_API_KEY=my-super-secret-api-key-change-me
# ── Portas (personalizável via docker-compose) ──────────────────────
API_PORT=8555
WEB_PORT=8550