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:
|
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
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue