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.
28 lines
816 B
Text
28 lines
816 B
Text
# tcef-notifications en el stack local (docker-compose). Copia a
|
|
# notifications.env. Referencia completa: ../../tcef-notifications/.env.example
|
|
#
|
|
# SEGURO POR DEFECTO: MODE=dry-run no envía nada por ningún canal.
|
|
|
|
MODE=dry-run
|
|
KILL_SWITCH=0
|
|
OWNED_CHANNELS=fcm,email
|
|
MATCHER_MODE=off
|
|
|
|
# Infra del compose (nombres de servicio de docker-compose.yml)
|
|
MONGO_URL=mongodb://mongo:27017/fuegos?replicaSet=rs0
|
|
MONGO_DB=fuegos
|
|
REDIS_HOST=redis
|
|
REDIS_PORT=6379
|
|
|
|
POLL_INTERVAL_MS=10000
|
|
POLL_BATCH_SIZE=500
|
|
|
|
# Solo necesarios en canary/full (el dry-run no construye los clientes):
|
|
# FCM_SERVICE_ACCOUNT=/run/secrets/firebase-service-account.json
|
|
# FCM_PROJECT_ID=angular-cosmos-108908
|
|
# MAIL_URL=smtps://USER:PASS@smtp.host:465
|
|
# IRON_PASSWORD=
|
|
|
|
ROOT_URL=http://localhost:3200/
|
|
LOG_LEVEL=info
|
|
SERVICE_NAME=tcef-notifications
|