lronetto-main/caddy/Caddyfile

53 lines
1.2 KiB
Caddyfile
Raw Normal View History

{
email {$ACME_EMAIL}
# Em dev local (*.localhost) Caddy emite cert interno automaticamente.
# Em produção, Let's Encrypt entra pelos hostnames reais.
}
# ----- Gitea (UI + git over HTTPS) -----
gitea.{$DOMAIN_BASE} {
encode zstd gzip
reverse_proxy gitea:3000 {
transport http {
response_header_timeout 10m
dial_timeout 30s
}
}
}
# ----- Wedding (app dos noivos) -----
wedding.{$DOMAIN_BASE} {
encode zstd gzip
request_body {
max_size 600MB
}
reverse_proxy wedding_app:3000 {
transport http {
response_header_timeout 10m
dial_timeout 30s
}
}
}
# ----- pgAdmin -----
pgadmin.{$DOMAIN_BASE} {
encode gzip
reverse_proxy pgadmin:80
}
# ----- MinIO console (admin web) -----
minio.{$DOMAIN_BASE} {
encode gzip
reverse_proxy minio:9001
}
# ----- MinIO S3 API público (uploads/downloads do bucket) -----
media.{$DOMAIN_BASE} {
encode gzip
# NÃO reescrever o Host: as URLs pré-assinadas (SigV4) incluem o header
# `host` na assinatura, calculado com `media.{DOMAIN_BASE}`. O Caddy
# repassa o Host original por padrão; reescrever pra `minio:9000`
# quebraria a assinatura (SignatureDoesNotMatch / 403 no PUT).
reverse_proxy minio:9000
}