110 lines
2.5 KiB
YAML
110 lines
2.5 KiB
YAML
version: '2'
|
|
|
|
name: mailuwuemail
|
|
|
|
volumes:
|
|
# SSL
|
|
certs:
|
|
vhost.d:
|
|
html:
|
|
acme:
|
|
# mail
|
|
mail_data:
|
|
mail_state:
|
|
# webmail
|
|
roundcube_app:
|
|
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/
|
|
- certs:/etc/letsencrypt/live/
|
|
- ./config/:/tmp/docker-mailserver/
|
|
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:
|
|
- roundcube_app:/var/www/html
|
|
# TODO Use Postgres
|
|
- roundcube_sqlite:/var/roundcube/db
|
|
networks:
|
|
- proxy-tier
|
|
- default
|
|
|
|
# SSL
|
|
reverse_proxy:
|
|
image: docker.io/nginxproxy/nginx-proxy:alpine
|
|
restart: always
|
|
labels:
|
|
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
|
volumes:
|
|
- certs:/etc/nginx/certs:ro
|
|
- vhost.d:/etc/nginx/vhost.d
|
|
- html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
- ./config/nginx/uploadsize.conf:/etc/nginx/conf.d/uploadsize.conf:ro
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
networks:
|
|
- proxy-tier
|
|
letsencrypt-companion:
|
|
image: docker.io/nginxproxy/acme-companion
|
|
restart: always
|
|
volumes:
|
|
- certs:/etc/nginx/certs
|
|
- acme:/etc/acme.sh
|
|
- vhost.d:/etc/nginx/vhost.d
|
|
- html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
networks:
|
|
- proxy-tier
|
|
depends_on:
|
|
- reverse_proxy
|
|
environment:
|
|
#- ACME_CA_URI=https://acme-staging-v02.api.letsencrypt.org/directory # test-server
|
|
- DEFAULT_EMAIL=admin@uwu.email
|
|
|
|
networks:
|
|
proxy-tier:
|