mailserver/docker-compose.yml
hcornet f45bc614b5
All checks were successful
Deployment Verification / deploy-and-test (push) Successful in 41s
add labal for WatchTower
2025-02-01 14:43:44 +01:00

61 lines
2.4 KiB
YAML

#### NETWORKS
networks:
traefik_front_network:
external: true
back_network_mailserver:
driver: bridge
attachable: true
#### SERVICES
services:
###
mailserver:
hostname: mailserver.tips-of-mine.com
container_name: mailserver
image: ghcr.io/docker-mailserver/docker-mailserver:latest
# 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:
- ./data/dms/mail-data/:/var/mail/
- ./data/dms/mail-state/:/var/mail-state/
- ./data/dms/mail-logs/:/var/log/mail/
- ./data/dms/config/:/tmp/docker-mailserver/
- /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 --tcp | grep -P 'LISTEN.+:smtp' || exit 1"
timeout: 3s
retries: 0
networks:
- traefik_front_network
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "traefik.enable=true"
- "traefik.docker.network=traefik_front_network"
# HTTP
- "traefik.http.routers.mailserver-http.rule=Host(`mailserver.tips-of-mine.com`)"
- "traefik.http.routers.mailserver-http.entrypoints=http"
- "traefik.http.routers.mailserver-http.priority=49"
# HTTPS
- "traefik.http.routers.mailserver-https.rule=Host(`mailserver.tips-of-mine.com`)"
- "traefik.http.routers.mailserver-https.entrypoints=https"
- "traefik.http.routers.mailserver-https.tls=true"
- "traefik.http.routers.mailserver-https.priority=50"
- "traefik.http.routers.mailserver.service=mailserver-https-service"
# Middleware
- "traefik.http.routers.mailserver.middlewares=redirect-webmail@docker"
# - "traefik.http.middlewares.redirect-webmail.redirectregex.regex=.*"
# - "traefik.http.middlewares.redirect-webmail.redirectregex.replacement=https://webmail.tips-of-mine.com/"
# Service
- "traefik.http.services.mailserver-https-service.loadbalancer.server.port=443"