Hallo zusammen,
zur Vorgeschichte: Ich möchte einen Mailserver lokal im Lan betreiben (Gründe und Einsatzzweck siehe hier: Email Backup mittels MailServer? Kurzfassung: Backupzwecke, soll nur im internen LAN bleiben und wird nie ins Internet gehen, d.h. auch keine Mails versenden).
Dabei bin ich schließlich bei Mailu gelandet: https://mailu.io/1.7/
Nach ein paar Anpassungen (Pfade der Volumes und der Datei mit Umgebungsvariablen + Portmappings) funktionierte das vom Setup erzeugte docker-compose - File auch. (Setup-tool: https://setup.mailu.io/1.7/)
Allerdings bin ich mit der Netzwerkkonfiguration noch nicht 100%ig zufrieden.
Das Original docker-compose.yml erzeugt eine Netzwerkkonfiguration, die folgendermaßen aussieht:
mailu_virtueller_switch_neu_bearbeitet.png
Ergebnis: Der Mailserver ist unter der IP-Adresse vom NAS erreichbar. Soweit ok.
Allerdings frage ich mich, ob es nicht noch besser geht. Ein Beispiel dazu ist der ebenfalls zu sehende Apache-Container: Er hat eine eigene IP-Adresse bekommen, die im "grünen" Netz ist, also dem richtigen.
Wäre es möglich, folgende Konfiguration hinzubekommen:
Die Mailu-Container bleiben in ihrem eigenen Subnetz und Kommunizieren dort untereinander. Gleichzeitig bekommt das "Gesamt-Paket" aber auch eine eigene IP-Adresse.
Das alles muss über die docker-compose.yml erzeugt werden, denn leider kann der so erzeugte Virtuelle Switch nicht bearbeitet werden.
Über Input/Ideen würde ich mich freuen.
Hier eine vollständige docker-compose.yml mit Standardeinstellungen einfach durchgeklickt:
# This file is auto-generated by the Mailu configuration wizard.
# Please read the documentation before attempting any change.
# Generated for compose flavor
version: '2.2'
services:
# External dependencies
redis:
image: redis:alpine
restart: always
volumes:
- "/mailu/redis:/data"
# Core services
front:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
logging:
driver: json-file
ports:
- "80:80"
- "443:443"
- "25:25"
- "465:465"
- "587:587"
- "110:110"
- "995:995"
- "143:143"
- "993:993"
volumes:
- "/mailu/certs:/certs"
- "/mailu/overrides/nginx:/overrides"
resolver:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-1.7}
env_file: mailu.env
restart: always
networks:
default:
ipv4_address: 192.168.203.254
admin:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/data:/data"
- "/mailu/dkim:/dkim"
depends_on:
- redis
imap:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/mail:/mail"
- "/mailu/overrides:/overrides"
depends_on:
- front
smtp:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/overrides:/overrides"
depends_on:
- front
- resolver
dns:
- 192.168.203.254
antispam:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/filter:/var/lib/rspamd"
- "/mailu/dkim:/dkim"
- "/mailu/overrides/rspamd:/etc/rspamd/override.d"
depends_on:
- front
- resolver
dns:
- 192.168.203.254
# Optional services
webdav:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/dav:/data"
fetchmail:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
depends_on:
- resolver
dns:
- 192.168.203.254
# Webmail
webmail:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rainloop:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/webmail:/data"
depends_on:
- imap
networks:
default:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.203.0/24
Alles anzeigen