96 lines
No EOL
2.8 KiB
YAML
96 lines
No EOL
2.8 KiB
YAML
services:
|
|
mailserver:
|
|
image: mailserver/docker-mailserver:latest
|
|
container_name: mailserver
|
|
hostname: mail
|
|
domainname: theboxhub.ch
|
|
restart: unless-stopped
|
|
dns:
|
|
- 1.1.1.1
|
|
- 8.8.8.8
|
|
environment:
|
|
TZ: Europe/Zurich
|
|
ENABLE_FETCHMAIL: 1
|
|
FETCHMAIL_POLL: 60
|
|
OVERTAKE_IP: 1
|
|
SSL_TYPE: manual
|
|
SSL_CERT_PATH: /etc/letsencrypt/live/mailserver/fullchain.pem
|
|
SSL_KEY_PATH: /etc/letsencrypt/live/mailserver/privkey.pem
|
|
ports:
|
|
- "25:25"
|
|
- "143:143"
|
|
- "465:465"
|
|
- "587:587"
|
|
- "993:993"
|
|
volumes:
|
|
- /srv/mail-fetch01/data/mailserver/maildata:/var/mail
|
|
- /srv/mail-fetch01/config/mailserver:/tmp/docker-mailserver
|
|
- /srv/mail-fetch01/data/mailserver/state:/var/mail-state
|
|
- /srv/mail-fetch01/data/mailserver/dkim:/etc/opendkim/keys
|
|
- /srv/mail-fetch01/data/mailserver/logs:/var/log/mail
|
|
- /srv/mail-fetch01/data/mailserver/certs/fullchain.pem:/etc/letsencrypt/live/mailserver/fullchain.pem:ro
|
|
- /srv/mail-fetch01/data/mailserver/certs/privkey.pem:/etc/letsencrypt/live/mailserver/privkey.pem:ro
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "ss -ltn | grep -q ':25' || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 20s
|
|
networks:
|
|
- mail-nw
|
|
|
|
db-mail:
|
|
image: mariadb:10.11
|
|
container_name: db-mail
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: Europe/Zurich
|
|
MYSQL_ROOT_PASSWORD: "MAILROOT_9kL4mQ2xT7vP1cD8"
|
|
MYSQL_DATABASE: "roundcube"
|
|
MYSQL_USER: "roundcube"
|
|
MYSQL_PASSWORD: "RCPASS_8xT2mQ7vL4pD1cK9"
|
|
volumes:
|
|
- /srv/mail-fetch01/data/mariadb:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
networks:
|
|
- mail-nw
|
|
|
|
roundcube:
|
|
image: roundcube/roundcubemail:latest
|
|
container_name: roundcube
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db-mail:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: Europe/Zurich
|
|
ROUNDCUBEMAIL_DB_TYPE: mysql
|
|
ROUNDCUBEMAIL_DB_HOST: db-mail
|
|
ROUNDCUBEMAIL_DB_NAME: roundcube
|
|
ROUNDCUBEMAIL_DB_USER: roundcube
|
|
ROUNDCUBEMAIL_DB_PASSWORD: "RCPASS_8xT2mQ7vL4pD1cK9"
|
|
ROUNDCUBEMAIL_SKIN: elastic
|
|
# Nutze hier nun den echten Domainnamen aus dem SSL-Zertifikat:
|
|
ROUNDCUBEMAIL_DEFAULT_HOST: "tls://imap.theboxhub.ch"
|
|
ROUNDCUBEMAIL_DEFAULT_PORT: 143
|
|
ROUNDCUBEMAIL_SMTP_SERVER: "tls://imap.theboxhub.ch"
|
|
ROUNDCUBEMAIL_SMTP_PORT: 587
|
|
ports:
|
|
- "8080:80"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 20s
|
|
networks:
|
|
- mail-nw
|
|
|
|
networks:
|
|
mail-nw:
|
|
driver: bridge |