services-mail/docker-compose.yml
2025-10-20 22:24:09 -03:00

71 lines
1.8 KiB
YAML

name: mailuwuemail
volumes:
# SSL
reverse_certs:
external: true
# mail
mail_data:
mail_state:
# webmail
roundcube_sqlite:
services:
# Mail
mail:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: ${DOMAIN_NAME:?Domain Name Required}
ports:
- "25:25"
- "587:587"
- "465:465"
- "143:143"
- "993:993"
volumes:
- mail_data:/var/mail/
- mail_state:/var/mail-state/
- reverse_certs:/etc/letsencrypt/live/
- ./config/:/tmp/docker-mailserver/
- ./priv_config/opendkim/:/tmp/docker-mailserver/opendkim/
environment:
- SSL_TYPE=letsencrypt
- LETSENCRYPT_HOST=${SERVER_DOMAIN_NAME:-mail.${DOMAIN_NAME}}
- VIRTUAL_HOST=${SERVER_DOMAIN_NAME:-mail.${DOMAIN_NAME}}
- ONE_DIR=1
- DMS_DEBUG=1
- SPOOF_PROTECTION=0 #1
- REPORT_RECIPIENT=1
- ENABLE_SPAMASSASSIN=0
- ENABLE_CLAMAV=0
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=0
cap_add:
- NET_ADMIN
- SYS_PTRACE
restart: always
webmail:
image: docker.io/roundcube/roundcubemail:latest
hostname: ${SERVER_DOMAIN_NAME:-webmail.${DOMAIN_NAME}}
restart: always
environment:
- ROUNDCUBEMAIL_DB_TYPE=sqlite
- ROUNDCUBEMAIL_SKIN=elastic
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://${SERVER_DOMAIN_NAME:-mail.${DOMAIN_NAME}}
- ROUNDCUBEMAIL_SMTP_SERVER=tls://${SERVER_DOMAIN_NAME:-mail.${DOMAIN_NAME}}
- ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE=9M
- VIRTUAL_HOST=${WEBMAIL_DOMAIN_NAME:-webmail.${DOMAIN_NAME}}
- LETSENCRYPT_HOST=${WEBMAIL_DOMAIN_NAME:-webmail.${DOMAIN_NAME}}
volumes:
# TODO Use Postgres
- roundcube_sqlite:/var/roundcube/db
networks:
- reverse_proxy-tier
- default
networks:
reverse_proxy-tier:
external: true