modernize wud and smtp for cluster
Some checks are pending
PVE2 Infrastructure Deploy / terraform (push) Waiting to run

This commit is contained in:
admin 2026-02-06 06:11:38 -07:00
parent 9a8ca95b7d
commit 72d1e543e9
2 changed files with 40 additions and 11 deletions

View file

@ -1,14 +1,16 @@
services: services:
smtp-relay: smtp-relay:
image: loganmarchione/docker-postfixrelay:latest image: loganmarchione/docker-postfixrelay:latest
container_name: smtp_relay container_name: smtp_relay_node${SMTP_NODE}
restart: always restart: always
ports: ports:
- "25:25" - "2525:25"
environment: environment:
# 1. THE UPSTREAM SMARTHOST (Where mail goes) # 1. THE UPSTREAM SMARTHOST (Where mail goes)
- RELAY_HOST=${RELAY_HOST} - RELAY_HOST=${RELAY_HOST}
- RELAY_PORT=${RELAY_PORT} - RELAY_PORT=${RELAY_PORT}
- RELAY_USERNAME=${RELAY_USER}
- RELAY_PASSWORD=${RELAY_PASS}
# 2. INTERNAL SECURITY (Who can send) # 2. INTERNAL SECURITY (Who can send)
# Allow your entire subnet (e.g., 192.168.1.0/24) to send without auth # Allow your entire subnet (e.g., 192.168.1.0/24) to send without auth
@ -20,5 +22,13 @@ services:
- MESSAGE_SIZE_LIMIT=10240000 - MESSAGE_SIZE_LIMIT=10240000
volumes: volumes:
# Optional: Persist the mail queue so you don't lose alerts if the container restarts # QUEUE PERSISTENCE (Critical for HA)
- /docker/smtp-relay/queue:/var/spool/postfix # If Node 1 dies, Node 2 sees the pending mail queue on Gluster
- /shared/smtp-relay/queue:/var/spool/postfix
networks:
- smtp_external # Attached to Traefik network just in case, or for internal access
networks:
smtp_external:
external: true

View file

@ -2,25 +2,26 @@
services: services:
wud: wud:
image: fmartinou/whats-up-docker:latest image: fmartinou/whats-up-docker:latest
container_name: wud container_name: wud-node${WUD_NODE_ID}
user: "1000:994" user: "1000:994"
cpus: 1.0 cpus: 1.0
mem_limit: "1024m" mem_limit: "1024m"
mem_reservation: "256m" mem_reservation: "256m"
ports: restart: unless-stopped
- "3001:3000"
networks: networks:
- wud_external
- wud_internal - wud_internal
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
- /docker/wud/etc:/etc/wud - /shared/wud/etc:/etc/wud
- /docker/wud/var:/var/lib/wud - /shared/wud/var:/var/lib/wud
- /docker/wud-db:/var/lib/wud/db
environment: environment:
- TZ=America/Edmonton - TZ=America/Edmonton
- WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock - WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock
- WUD_AUTOUPDATE=${WUD_AUTOUPDATE} - WUD_AUTOUPDATE=${WUD_AUTOUPDATE}
- WUD_WATCHER_LOCAL_WATCHBYDEFAULT=${WUD_WATCH} - WUD_WATCHER_LOCAL_WATCHBYDEFAULT=${WUD_WATCH}
- WUD_REGISTRIES_LSCR_ENABLED=${WUD_LSCR} - WUD_REGISTRIES_LSCR_ENABLED=${WUD_LSCR}
- WUD_REGISTRY_LSCR_USERNAME=${WUD_LSCR_USER} - WUD_REGISTRY_LSCR_USERNAME=${WUD_LSCR_USER}
- WUD_REGISTRY_LSCR_TOKEN=${GITHUB_PAT_TOKEN} - WUD_REGISTRY_LSCR_TOKEN=${GITHUB_PAT_TOKEN}
@ -30,4 +31,22 @@ services:
- WUD_TRIGGER_SMTP_EMAIL_PORT=${WUD_SMTP_PORT} - WUD_TRIGGER_SMTP_EMAIL_PORT=${WUD_SMTP_PORT}
- WUD_TRIGGER_SMTP_EMAIL_TLS_ENABLED=${WUD_SMTP_TLS} - WUD_TRIGGER_SMTP_EMAIL_TLS_ENABLED=${WUD_SMTP_TLS}
- WUD_TRIGGER_SMTP_EMAIL_TLS_VERIFY=${WUD_SMTP_TLS_VER} - WUD_TRIGGER_SMTP_EMAIL_TLS_VERIFY=${WUD_SMTP_TLS_VER}
restart: unless-stopped labels:
- "traefik.enable=true"
- "traefik.docker.network=wud_external"
# Router
- "traefik.http.routers.wud.rule=Host(`${WUD_HOSTNAME}.${TRAEFIK_DNS_SUFFIX}`)"
- "traefik.http.routers.wud.entrypoints=websecure"
- "traefik.http.routers.wud.tls=true"
- "traefik.http.routers.wud.tls.certresolver=dns_resolver"
# Service
- "traefik.http.services.wud.loadbalancer.server.port=3000"
networks:
wud_internal:
driver: bridge
wud_external:
external: true