Wenn du den Stalwart-Mailserver schon installiert hast, kannst du mit dieser Anleitung ganz einfach Roundcube als Webmail-Client hinzufügen. In dieser Anleitung zeige ich euch, wie ihr mit Roundcube mittels Traefik und Docker installieren könnt.
Datum | Änderungen |
---|---|
17.12.2024 | Erstellung dieser Anleitung |
07.02.2025 | Anpassungen Docker Compose, Kapitel 6 durch @christian |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu )
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
- Stalwart – E-Mail Server mit Docker und Traefik installieren
2. Verzeichnis erstellen
Dazu gebt ihr folgenden Befehl ein:
mkdir -p /opt/containers/roundcube
3. Docker Compose Datei erstellen
Dazu erstellt ihr folgende Datei:
nano /opt/containers/roundcube/docker-compose.yml
Fügt folgendes ein:
services: roundcube: image: roundcube/roundcubemail:latest container_name: roundcube networks: - proxy volumes: - ./www:/var/www/html - ./sqlite:/var/roundcube/db environment: - ROUNDCUBEMAIL_DB_TYPE=sqlite - ROUNDCUBEMAIL_SKIN=elastic - ROUNDCUBEMAIL_DEFAULT_HOST=ssl://mail.deinedomain.de - ROUNDCUBEMAIL_DEFAULT_PORT=993 - ROUNDCUBEMAIL_SMTP_SERVER=ssl://mail.deinedomain.de - ROUNDCUBEMAIL_SMTP_PORT=465 labels: - traefik.enable=true - traefik.http.routers.roundcube.rule=Host(`webmail.deinedomain.de`) - traefik.http.routers.roundcube.entrypoints=websecure - traefik.http.services.roundcube.loadbalancer.server.port=80 - traefik.http.routers.roundcube.service=roundcube - traefik.http.routers.roundcube.tls.certresolver=tls_resolver - traefik.docker.network=proxy - traefik.http.routers.roundcube.middlewares=default@file networks: proxy: name: proxy external: true
4. Domains anpassen
Nun ändern wir noch die Domains in der Konfiguration. Die Domain unter welcher euer Stalwart Mailserver erreichbar ist ändert ihr so:
cd /opt/containers/roundcube sed -i "s/mail.deinedomain.de/<DeineDomain>/g" docker-compose.yml Beispiel: sed -i "s/mail.deinedomain.de/mail.euredomain.de/g" docker-compose.yml
Die Domain unter welche das Webmail-Frontend später erreichbar ist ändert ihr so:
cd /opt/containers/roundcube sed -i "s/webmail.deinedomain.de/<DeineDomain>/g" docker-compose.yml Beispiel: sed -i "s/webmail.deinedomain.de/webmail.euredomain.de/g" docker-compose.yml
5. Roundcube starten
Nun starten wir Roundcube mit folgendem Befehl:
docker compose -f /opt/containers/roundcube/docker-compose.yml up -d
6. In Roundcube einloggen
Nun wartet ihr eine Minute und dann geht ihr auf eure Homepage: https://webmail.deinedomain.de und solltet folgendes sehen:
Meldet euch nun mit den Login Daten an, welche ihr für eure E-Mail Adresse in Stalwart angegeben habt. Wichtig ist, dass ihr nur den Namen eurer E-Mail Accounts eingebt, also ohne eure Domain.
Nun musste ich noch eine Kleinigkeit anpassen um E-Mails versenden zu können. Als Absender war bei mir immer “mail.deinedomain.de” eingestellt. Dies führte zu Problemen. Dies habe ich folgendermaßen geändert. Klickt auf “Einstellungen –> Identitäten”.
Nun ändert ihr dies in “name@euredomain.de” ab.
Nun hat bei mir der E-Mail Versand sowie E-Mail Empfang funktioniert.
Hi,
Leider funktioniert das ganze bei mir nicht, da mein IMAPS Listener auf Port 993 erwartet, per ProxyProtocol angesprochen zu werden. Da es sich hier um eine lokale Verbindung im Docker Netzwerk handelt, müsste ich einen separaten Listener erstellen, der dies zulässt, richtig?
So habe ich es zumindest zuvor schon für SMTP gemacht, um von anderen Diensten Mails versenden zu können.
Hi, danke für die Anleitung (und auch alle anderen Stalwart Anleitungen).
Zwei Fragen dazu:
Danke!