docker/dms/docker-compose.yml

53 lines
1.7 KiB
YAML

services:
mailserver:
image: ghcr.io/docker-mailserver/docker-mailserver:latest
container_name: dms-mailserver
hostname: mail.andreasknuth.de # Passe an deine Haupt-Domain an
env_file: mailserver.env
ports:
- "2525:25" # SMTP (extern auf 2525, um MailCow nicht zu stören)
- "1443:143" # IMAP (extern auf 1443)
- "465:465" # SMTPS
- "994:993" # IMAPS (extern auf 994, um Konflikte zu vermeiden)
- "2587:587" # Submission (extern auf 2587 für Lambda)
volumes:
- ./data/:/var/mail/
- ./state/:/var/mail-state/
- ./config/:/tmp/docker-mailserver/
environment:
- ENABLE_FAIL2BAN=1
- SSL_TYPE=letsencrypt # Oder self-signed für Test
- PERMIT_DOCKER=host
- ONE_DIR=1
cap_add:
- NET_ADMIN
restart: always
networks:
- dms_network
- mail_network # Verbinde mit deinem bestehenden mail_network für Caddy
roundcube:
image: roundcube/roundcubemail:latest
container_name: dms-roundcube
environment:
- ROUNDCUBEMAIL_DEFAULT_HOST=mail.andreasknuth.de
- ROUNDCUBEMAIL_DEFAULT_PORT=1443 # Dein IMAP-Port
- ROUNDCUBEMAIL_SMTP_SERVER=mail.andreasknuth.de
- ROUNDCUBEMAIL_SMTP_PORT=2587
- ROUNDCUBEMAIL_PLUGINS=archive,zipdownload,managesieve,password # Für Sieve (Auto-Reply/Forward), Password-Change
volumes:
- ./roundcube/:/var/roundcube/config/
ports:
- "9000:80" # Intern auf 80, extern via Caddy
depends_on:
- mailserver
restart: always
networks:
- dms_network
- mail_network
networks:
dms_network:
external: true
mail_network:
external: true