Files
Soporte ZH Consultores 4ee32aec6d Initial commit — Donna portal v1
Setup completo del portal interno donna.aal-law.com:

* Landing público con OAuth login + grid de apps autenticado
* Flujo OAuth2 contra Mailcow (mail.aal-law.com)
* Sesiones SSO compartidas en el dominio (cookie donna_session, 8h)
* Whitelist de dominios aal-law.com / aalnlaw.com
* App "Control de Escrituras" migrada desde ZH-Consultores/control-escrituras
  (mismo schema, mismo frontend, ahora con shared Auth/Db/Config libs)
* Migraciones SQL para users, escrituras_tramites, escrituras_historial
* Caddy on :80 con rewrite extless → .php
* Backup diario MariaDB (systemd timer + script) con retención 14d
* Documentación de arquitectura en README + infra files en docs/infra
2026-05-11 19:10:36 +00:00

39 lines
857 B
Caddyfile

# Donna Portal — HTTP only on :80
# El Caddy upstream hace terminación SSL y nos pasa X-Forwarded-Proto: https.
:80 {
root * /opt/donna/public
encode gzip zstd
# Bloquear acceso directo a vistas privadas, código fuente, secretos, SQL, etc.
@hidden {
path /src/* /sql/* /bin/* /views/* /.env* /.git*
}
respond @hidden 404
# Rewrite /foo → /foo.php cuando el .php existe (para URLs sin extensión: /auth/callback)
@extlessphp {
not path *.php
not path */
file {path}.php
}
rewrite @extlessphp {path}.php
php_fastcgi unix//run/php/php8.4-fpm.sock {
env HTTPS on
}
file_server {
index index.php
}
log {
output file /var/log/donna/access.log {
roll_size 50mb
roll_keep 5
}
format json
}
}