modernize wud and smtp for cluster
Some checks are pending
PVE2 Infrastructure Deploy / terraform (push) Waiting to run
Some checks are pending
PVE2 Infrastructure Deploy / terraform (push) Waiting to run
This commit is contained in:
parent
9a8ca95b7d
commit
72d1e543e9
2 changed files with 40 additions and 11 deletions
|
|
@ -1,14 +1,16 @@
|
|||
services:
|
||||
smtp-relay:
|
||||
image: loganmarchione/docker-postfixrelay:latest
|
||||
container_name: smtp_relay
|
||||
container_name: smtp_relay_node${SMTP_NODE}
|
||||
restart: always
|
||||
ports:
|
||||
- "25:25"
|
||||
- "2525:25"
|
||||
environment:
|
||||
# 1. THE UPSTREAM SMARTHOST (Where mail goes)
|
||||
- RELAY_HOST=${RELAY_HOST}
|
||||
- RELAY_PORT=${RELAY_PORT}
|
||||
- RELAY_USERNAME=${RELAY_USER}
|
||||
- RELAY_PASSWORD=${RELAY_PASS}
|
||||
|
||||
# 2. INTERNAL SECURITY (Who can send)
|
||||
# Allow your entire subnet (e.g., 192.168.1.0/24) to send without auth
|
||||
|
|
@ -20,5 +22,13 @@ services:
|
|||
- MESSAGE_SIZE_LIMIT=10240000
|
||||
|
||||
volumes:
|
||||
# Optional: Persist the mail queue so you don't lose alerts if the container restarts
|
||||
- /docker/smtp-relay/queue:/var/spool/postfix
|
||||
# QUEUE PERSISTENCE (Critical for HA)
|
||||
# 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
|
||||
|
|
@ -2,25 +2,26 @@
|
|||
services:
|
||||
wud:
|
||||
image: fmartinou/whats-up-docker:latest
|
||||
container_name: wud
|
||||
container_name: wud-node${WUD_NODE_ID}
|
||||
user: "1000:994"
|
||||
cpus: 1.0
|
||||
mem_limit: "1024m"
|
||||
mem_reservation: "256m"
|
||||
ports:
|
||||
- "3001:3000"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- wud_external
|
||||
- wud_internal
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- /docker/wud/etc:/etc/wud
|
||||
- /docker/wud/var:/var/lib/wud
|
||||
- /docker/wud-db:/var/lib/wud/db
|
||||
- /shared/wud/etc:/etc/wud
|
||||
- /shared/wud/var:/var/lib/wud
|
||||
environment:
|
||||
- TZ=America/Edmonton
|
||||
- WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock
|
||||
|
||||
- WUD_AUTOUPDATE=${WUD_AUTOUPDATE}
|
||||
- WUD_WATCHER_LOCAL_WATCHBYDEFAULT=${WUD_WATCH}
|
||||
|
||||
- WUD_REGISTRIES_LSCR_ENABLED=${WUD_LSCR}
|
||||
- WUD_REGISTRY_LSCR_USERNAME=${WUD_LSCR_USER}
|
||||
- WUD_REGISTRY_LSCR_TOKEN=${GITHUB_PAT_TOKEN}
|
||||
|
|
@ -30,4 +31,22 @@ services:
|
|||
- WUD_TRIGGER_SMTP_EMAIL_PORT=${WUD_SMTP_PORT}
|
||||
- WUD_TRIGGER_SMTP_EMAIL_TLS_ENABLED=${WUD_SMTP_TLS}
|
||||
- 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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue