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.
This commit is contained in:
25
.env.prod.example
Normal file
25
.env.prod.example
Normal file
@@ -0,0 +1,25 @@
|
||||
# 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=
|
||||
Reference in New Issue
Block a user