Compose con los 5 servicios: mongo:7 (replica set rs0 + mongo-init one-shot), redis (AOF), web Meteor 3.1 (Dockerfile multi-stage: builder debian con meteor-tool 3.1 -> server-deps alpine -> runtime node:22-alpine), notifications (dry-run) y node-red 4. Healthchecks (127.0.0.1, no localhost: busybox wget prefiere IPv6 y Meteor escucha IPv4), restart unless-stopped, logging rotado 3x10MB, secretos montados desde ./secrets (gitignored, solo .example versionado). .npmrc legacy-peer-deps para el ERESOLVE de las libs react viejas. Validado: los 5 servicios healthy y smoke REST byte-identico (12/12) contra la web dockerizada en :3200. RUNBOOK.md documenta arranque, smoke, backups y rollback. No toca infra de Comunes.
565 B
565 B
secrets/ — secretos del stack local (docker-compose)
Los ficheros reales de este directorio están gitignorados — solo se
versionan los *.example. Los valores de producción viven en el repo privado
tcef-private-config / en shiva, nunca aquí.
Para la validación local:
# settings de la web Meteor (el compose lo monta como fichero en el contenedor)
cp ../settings-development.json meteor-settings.json
# entorno del microservicio de notificaciones (dry-run por defecto: no envía nada)
cp notifications.env.example notifications.env