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.bytetrail.at" -addext "subjectAltName=DNS:mail.bytetrail.at,DNS:bytetrail.local" 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.bytetrail.at 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: