Files
dms/docker-compose.yml
T
unknown a3689a6498 fix: LDAPS-Auth, Mail-Zustellung und Zertifikat komplett funktionsfaehig
- LDAP: REFERRALS off + TLS_REQCERT never in /etc/ldap/ldap.conf
- LDAP: pass_attrs/user_attrs fuer Active Directory angepasst (via user-patches.sh)
- LDAP: LDAP_SERVER_HOST auf ldaps://10.10.10.10 gesetzt
- Mail: Bind-Mounts durch Docker Named Volumes ersetzt (v9fs -> ext4)
- SSL: Zertifikat mit CA:FALSE neu generiert (Thunderbird-Kompatibilitaet)
- Doku: DOKU-Mailserver-Setup.txt mit allen Problemen und Loesungen
2026-05-08 07:55:19 -07:00

74 lines
2.3 KiB
YAML

services:
ssl-init:
image: alpine/openssl
container_name: ssl-init
volumes:
- ./docker-data/dms/ssl/:/certs/
entrypoint: /bin/sh
command:
- -c
- |
if [ ! -f /certs/cert.pem ]; then
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /certs/key.pem -out /certs/cert.pem -subj "/CN=mail.byte.trail" -addext "subjectAltName=DNS:mail.byte.trail,DNS:byte.trail"
echo "[+] Zertifikat erstellt"
else
echo "[i] Zertifikat existiert bereits"
fi
restart: "no"
mailserver:
image: ghcr.io/docker-mailserver/docker-mailserver:latest
container_name: mailserver
depends_on:
ssl-init:
condition: service_completed_successfully
# Provide the FQDN of your mail server here (Your DNS MX record should point to this value)
hostname: mail.byte.trail
env_file: mailserver.env
# More information about the mail-server ports:
# https://docker-mailserver.github.io/docker-mailserver/latest/config/security/understanding-the-ports/
ports:
- "25:25" # SMTP (explicit TLS => STARTTLS, Authentication is DISABLED => use port 465/587 instead)
- "143:143" # IMAP4 (explicit TLS => STARTTLS)
- "465:465" # ESMTP (implicit TLS)
- "587:587" # ESMTP (explicit TLS => STARTTLS)
- "993:993" # IMAP4 (implicit TLS)
volumes:
- dms-mail-data:/var/mail/
- dms-mail-state:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
- ./docker-data/dms/ssl/:/tmp/dms-ssl/:ro
- /etc/localtime:/etc/localtime:ro
restart: always
stop_grace_period: 1m
# Uncomment if using `ENABLE_FAIL2BAN=1`:
# cap_add:
# - NET_ADMIN
healthcheck:
test: "ss --listening --ipv4 --tcp | grep --silent ':smtp' || exit 1"
timeout: 3s
retries: 0
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: mssql-server
hostname: mssql-server
restart: unless-stopped
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "ByteTrail123456!"
MSSQL_PID: "Developer"
ports:
- "1433:1433"
volumes:
- mssql_data:/var/opt/mssql
volumes:
dms-mail-data:
dms-mail-state:
mssql_data: