services-mail/docker-compose.yml

74 lines
1.6 KiB
YAML

name: mailuwuemail
volumes:
# SSL
next_certs:
external: true
# mail
mail_data:
mail_state:
# webmail
roundcube_sqlite:
services:
# Mail
mail:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: uwu.email
container_name: mail
ports:
- "25:25"
- "587:587"
- "465:465"
- "143:143"
- "993:993"
volumes:
- mail_data:/var/mail/
- mail_state:/var/mail-state/
- next_certs:/etc/letsencrypt/live/
- ./config/:/tmp/docker-mailserver/
- ./priv_config/opendkim/:/tmp/docker-mailserver/opendkim/
environment:
- SSL_TYPE=letsencrypt
- LETSENCRYPT_HOST=mail.uwu.email
- VIRTUAL_HOST=mail.uwu.email
- 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: webmail.uwu.email
container_name: webmail
restart: always
expose:
- 80
environment:
- ROUNDCUBEMAIL_DB_TYPE=sqlite
- ROUNDCUBEMAIL_SKIN=elastic
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://mail.uwu.email
- ROUNDCUBEMAIL_SMTP_SERVER=tls://mail.uwu.email
- VIRTUAL_HOST=webmail.uwu.email
- LETSENCRYPT_HOST=webmail.uwu.email
- ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE=9M
volumes:
# TODO Use Postgres
- roundcube_sqlite:/var/roundcube/db
networks:
- next_proxy-tier
- default
networks:
next_proxy-tier:
external: true