services: mailserver: image: ghcr.io/docker-mailserver/docker-mailserver:latest container_name: mailserver # Provide the FQDN of your mail server here (Your DNS MX record should point to this value) hostname: mail.karmacoma.dev ports: - "25:25" - "465:465" - "587:587" - "993:993" volumes: - ./docker-data/dms/mail-data/:/var/mail/ - ./docker-data/dms/mail-state/:/var/mail-state/ - ./docker-data/dms/mail-logs/:/var/log/mail/ - ./docker-data/dms/config/:/tmp/docker-mailserver/ - /etc/localtime:/etc/localtime:ro environment: - ENABLE_RSPAMD=1 - ENABLE_CLAMAV=1 - ENABLE_FAIL2BAN=1 cap_add: - NET_ADMIN # For Fail2Ban to work restart: always webmail: image: ghcr.io/the-djmaze/snappymail:latest container_name: webmail depends_on: - mailserver ports: - "8080:80" environment: # Log to stdout so container logs are visible in Coolify and docker logs - SNAPPYMAIL_LOG_TO_STDOUT=1 volumes: - ./docker-data/snappymail/:/snappymail/data/ restart: unless-stopped