feat(deploy): docker-compose.traefik.yml overlay per behind-Traefik
Per VPS condiviso (es. con Gitea) dove Traefik gestisce già 80/443.
- gateway/Caddyfile: env-aware listen + auto_https + trusted_proxies
(defaults invariati per modalità standalone).
- docker-compose.traefik.yml: overlay che rimuove ports binding host,
attacca gateway alla network esterna di Traefik, set labels per
routing Host(cerbero-mcp.tielogic.xyz) + TLS via certresolver
Traefik. Caddy ascolta plain HTTP :80 interno.
- scripts/deploy.sh: rileva BEHIND_TRAEFIK=true → aggiunge -f
docker-compose.traefik.yml a tutti i docker compose call.
- DEPLOYMENT.md: nuova sezione 2a (topologia standalone vs behind-traefik)
+ sotto-sezione modalità behind-Traefik con env vars richieste.
Uso:
docker compose -f docker-compose.prod.yml -f docker-compose.traefik.yml \
--env-file .env up -d
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
-7
@@ -135,16 +135,22 @@ echo "Audit log dir: $AUDIT_LOG_DIR (chown 1000:1000)"
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
# 7. Pull image + up
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
COMPOSE_FILES=("-f" "docker-compose.prod.yml")
|
||||
if [ "${BEHIND_TRAEFIK:-false}" = "true" ]; then
|
||||
echo "=== Modalità behind-traefik attiva (network ${TRAEFIK_NETWORK:-gitea_traefik-public}) ==="
|
||||
COMPOSE_FILES+=("-f" "docker-compose.traefik.yml")
|
||||
fi
|
||||
|
||||
echo "=== docker compose pull + up ==="
|
||||
docker compose -f docker-compose.prod.yml --env-file .env pull
|
||||
docker compose -f docker-compose.prod.yml --env-file .env up -d
|
||||
docker compose "${COMPOSE_FILES[@]}" --env-file .env pull
|
||||
docker compose "${COMPOSE_FILES[@]}" --env-file .env up -d
|
||||
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
# 8. Verifica stato
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
sleep 5
|
||||
echo "=== Stato container ==="
|
||||
docker compose -f docker-compose.prod.yml --env-file .env ps
|
||||
docker compose "${COMPOSE_FILES[@]}" --env-file .env ps
|
||||
|
||||
echo
|
||||
echo "=== Smoke test (health check via gateway pubblico) ==="
|
||||
@@ -158,8 +164,8 @@ fi
|
||||
|
||||
echo
|
||||
echo "=== Deploy completato ==="
|
||||
echo "Comandi utili:"
|
||||
echo " Logs: docker compose -f docker-compose.prod.yml --env-file .env logs -f <service>"
|
||||
echo "Comandi utili (compose files: ${COMPOSE_FILES[*]}):"
|
||||
echo " Logs: docker compose ${COMPOSE_FILES[*]} --env-file .env logs -f <service>"
|
||||
echo " Audit: tail -f $AUDIT_LOG_DIR/*.audit.jsonl"
|
||||
echo " Restart: docker compose -f docker-compose.prod.yml --env-file .env restart <service>"
|
||||
echo " Stop: docker compose -f docker-compose.prod.yml --env-file .env down"
|
||||
echo " Restart: docker compose ${COMPOSE_FILES[*]} --env-file .env restart <service>"
|
||||
echo " Stop: docker compose ${COMPOSE_FILES[*]} --env-file .env down"
|
||||
|
||||
Reference in New Issue
Block a user