diff --git a/dms/config/dovecot.cf b/dms/config/dovecot.cf new file mode 100644 index 0000000..e69de29 diff --git a/dms/config/postfix-accounts.cf b/dms/config/postfix-accounts.cf new file mode 100644 index 0000000..9cfad9f --- /dev/null +++ b/dms/config/postfix-accounts.cf @@ -0,0 +1 @@ +knuth@andreasknuth.de|hashed_password_here # Generiere Passwort mit: docker run --rm ghcr.io/docker-mailserver/docker-mailserver:latest generate-password \ No newline at end of file diff --git a/dms/config/postfix-virtual.cf b/dms/config/postfix-virtual.cf new file mode 100644 index 0000000..e69de29 diff --git a/dms/docker-compose.yml b/dms/docker-compose.yml new file mode 100644 index 0000000..a494071 --- /dev/null +++ b/dms/docker-compose.yml @@ -0,0 +1,53 @@ +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 \ No newline at end of file diff --git a/dms/mailserver.env b/dms/mailserver.env new file mode 100644 index 0000000..d0dcfe9 --- /dev/null +++ b/dms/mailserver.env @@ -0,0 +1,5 @@ +POSTMASTER_ADDRESS=postmaster@andreasknuth.de +OVERRIDE_HOSTNAME=mail.andreasknuth.de +DMS_DEBUG=1 # Für Logs +ENABLE_RSPAMD=1 # Spam-Filter aktiv (Schritt 4) +ENABLE_CLAMAV=1 # Optional: Virenscanner \ No newline at end of file diff --git a/dms/roundcube/config.inc.php b/dms/roundcube/config.inc.php new file mode 100644 index 0000000..a809c6d --- /dev/null +++ b/dms/roundcube/config.inc.php @@ -0,0 +1,69 @@ +