Bloque C de la fase SaaS (ficheros; el despliegue se hace con el runbook): - docker-compose.prod.yml: superficie mínima (solo el frontend en 127.0.0.1:8089 para el nginx nativo), límites de memoria, sin seeder. - deploy/nginx-recordalexia.conf: server block con cabeceras de seguridad, X-Forwarded-For para el rate-limiter y preparado para certbot. - deploy/backup.sh: pg_dump diario comprimido, retención 14, copia externa vía rclone y detección de backups vacíos. - .env.prod.example (y .env.prod en .gitignore). - docs/operacion-saas.md: runbook con primer despliegue, checklist, restore ENSAYADO paso a paso, actualización y problemas conocidos.
26 lines
830 B
Plaintext
26 lines
830 B
Plaintext
# Plantilla de variables de PRODUCCIÓN. Copiar a .env.prod en la VM y rellenar.
|
|
# .env.prod NO se versiona jamás (está en .gitignore).
|
|
#
|
|
# cp .env.prod.example .env.prod
|
|
|
|
# --- Base de datos (solo red interna del compose) ---
|
|
DB_NAME=recordalexia
|
|
DB_USER=recordalexia
|
|
DB_PASSWORD=
|
|
|
|
# --- Dominio público (enlaces del email y CORS) ---
|
|
PUBLIC_BASE_URL=https://recordalexia.jaumegar.work
|
|
|
|
# --- Correo saliente (cualquier relay SMTP estándar) ---
|
|
# Sin SMTP_HOST, los emails de recuperación se quedan en el log del backend.
|
|
MAIL_FROM=no-reply@jaumegar.work
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USERNAME=
|
|
SMTP_PASSWORD=
|
|
|
|
# --- Backups (deploy/backup.sh) ---
|
|
# Remoto rclone para la copia fuera de la VM (ej. "b2:recordalexia-backups").
|
|
# Vacío = solo copia local (NO recomendado para abrir el registro al público).
|
|
RCLONE_REMOTE=
|