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
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user