Files
recordalexia/.env.prod.example
Jaume Garriga Maestre 6b655634ca feat(saas): infraestructura de producción para la VM
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.
2026-07-13 22:33:12 +02:00

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=