VPS-Installer: Caddy Auto-HTTPS (Profil) + IPv4-SMTP-Pref einbauen

- caddy-Service in docker-compose (profiles: caddy) – reverse-proxyt
  webmail/admin mit automatischem Let's-Encrypt; auf dem LXC bleibt er
  aus (dort macht NPM das HTTPS)
- stack/caddy/Caddyfile (Domains via WEBMAIL_FQDN/ADMIN_FQDN aus .env)
- vps-install.sh: ENABLE_CADDY (default 1) -> --profile caddy beim Deploy,
  smtp_address_preference=ipv4 als postfix-main.cf-Override (gegen IPv6-
  'Network unreachable'-Queue-Delays), Output mit https-URLs + A-Records

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 13:35:22 +02:00
parent b5bbc1f9ae
commit f19bcc860c
3 changed files with 70 additions and 5 deletions
+27
View File
@@ -112,3 +112,30 @@ services:
volumes:
- ./docker-data/snappymail/:/var/lib/snappymail/ # echter Datenpfad der djmaze-Image
- ./snappymail-theme/:/snappymail/themes/:ro # KGVA "Shibui"-Theme
# ----------------------------------------------------------------------------
# caddy Reverse-Proxy mit automatischem Let's-Encrypt (NUR auf dem VPS).
# Aktivieren via Profil: docker compose --profile caddy up -d
# Auf dem LXC bleibt er AUS (dort macht der Nginx Proxy Manager das HTTPS).
# Domains kommen aus der .env (WEBMAIL_FQDN / ADMIN_FQDN); Caddy holt sich
# die Zertifikate selbst (Port 80/443 müssen offen sein).
# ----------------------------------------------------------------------------
caddy:
image: caddy:2-alpine
container_name: dms-caddy
profiles: ["caddy"]
restart: always
security_opt:
- no-new-privileges:true
ports:
- "80:80"
- "443:443"
environment:
- WEBMAIL_FQDN=${WEBMAIL_FQDN}
- ADMIN_FQDN=${ADMIN_FQDN}
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- ./docker-data/caddy/:/data/
depends_on:
- snappymail
- admin-ui