Dieses Tutorial ist VALID.

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Mailcow installieren – der „dockerisierte“ Mailserver

Das Postfach mit SOGo über Web nutzen

In der Mailcow ist auch ein Webmailer integriert: SOGo

Bis jetzt kannte ich nur Roundcube und davor SquirrelMail. Die waren „so la la“. Aber dieses SOGo… Ich muss schon sagen… Das erfreut mein Herz, wie schön das aussieht…

Um den Webmailer zu nutzen, starten wir ihn erst einmal durch. Dazu loggen wir uns in Mailcow ein und klicken oben in der Menüzeile auf „SOGo neustarten“. Nach ein paar Sekunden ist der Container wieder online und alle Änderungen an den Domains wurden eingepflegt.

SOGo starten wir dann entweder, so lange wir eingeloggt sind, im Menü über „Apps“ und „SOGo“. Oder auf dem Login-Screen von Mailcow ganz unten über den Button „SOGo“.

Mailcow SoGo Login Screen

Beides bringt uns zum Login Screen von SOGo. Hier tippen wir unsere komplette E-Mail Adresse als Benutzername ein und dazu unser Passwort. Wir können noch über einen Switch den Benutzer speichern, falls wir auf unserer eigenen Maschine arbeiten und uns nicht an einem öffentlichen Terminal befinden. Mit einem Klick auf den Pfeil nach rechts unten rechts loggen wir uns ein.

Die Oberfläche von SOGo ist sehr modern und aufgeräumt. Jeder, der schon einmal ein Mailprogramm benutzt hat, sollte sich hier schnell zurecht finden, weshalb ich hier gar nicht mehr viel dazu schreibe.

Für mich ist der SOGo aber nur die Kirsche auf der Sahnehaube, da ich zu 99,5% meine Mails auf meinen verschiedenen Computern über Thunderbird verwalte…

Fazit

Meine Damen und Herren – „And there you have it!“
Ein Mailserver – ein super toller und feiner Mailserver mit allen Schikanen, allen Konten, DNS und Sicherheitsmaßnahmen – eingerichtet in einer guten Stunde, wenn wir uns sputen.

An dieser Stelle möchte ich meinen Dank aussprechen an die Jungs, die hinter der Mailcow stecken und das Projekt pflegen und vorantreiben. Respekt! Ihr seid der Wahnsinn :)

Um die Leute direkt zu unterstützen, habe ich mir gerade eine „Stay-Awesome-License (SAL)“ von Mailcow gekauft. Das ist eine Einmal-Zahlung, die in flexiblen Schritten von 5,- Euro bis zu 150,- Euro ausgewählt werden kann.

Ich hoffe, dass dieses Projekt eine strahlende Zukunft hat und viele von euch, die dieses Tutorial bis zu Ende durchgeackert haben, ebenfalls ihre Unterstützung durch den – freiwilligen – Kauf dieser Lizenz zum Ausdruck bringen.

Den gewaltigen Aufwand, der hinter dieser Installation steckt, kann ich mir gar nicht vorstellen und wiederhole mich, wenn ich sage, dass dieses herausragende Stück Software jeden Lob und Dank verdient, den wir hier aufbringen können.

Wenn ich überlege, wie ich mich Wochenlang mit „Frankensteins Mailserver“ gequält habe, bis der gelaufen ist. Und der konnte ja nicht mal einen Bruchteil von dem, was die Mailcow macht… Sensationell!

Echt; weiter so! Ihr seid meine Helden. Ganz ehrlich… DANKE!

Anzeige *

33 Kommentare zu „Mailcow installieren – der „dockerisierte“ Mailserver“

  1. ZITAT
    “Hostname” darf NICHT “Mailname” sein. Heißt der Mailserver “mail.xp-server.de”, dann darf der Hostname nicht genau so lauten. Hostname wäre hier z.B.: “xp-server.de”.
    ZITAT-END

    Was das für ein Schwachsinn?
    xp-server.de = Domainname!
    Und wo steht bitte das FQDN nicht Mailname sein darf?

  2. Hallo,
    ich habe noch ein Problem mit den Zertifikaten.
    Folgender Fehler im ACME Protokoll:
    mail.mydomain – Cannot validate any hostnames, skipping Let’s Encrypt for 1 hour.
    mail.mydomain – Confirmed A record with IP xx.xx.xx.xx, but HTTP validation failed
    Ich habe keine Idee warum.
    Port 80 ist freigeschaltet.

    Gruß Rolf

    1. Peter Fiedler

      Hallo Rolf,
      tut mir leid, aber den Fehler hatte ich noch nicht und kann darum keinen Tipp geben, woran das liegen könnte.
      Die Mailcow hat keine Firewall – 80 sollte auf dem Server offen sein, ja.

      Bitte mach einen Eintrag im Community Forum, da tummeln sich auch Entwickler. Die sollten Dir da kompetent weiterhelfen können.

      Beste Grüße
      Peter.

  3. Hallo,
    ich habe ein Testsystem aufgesetzt und es lief wunderbar.
    Dann habe ich ./update.sh ausgeführt.
    Nun starten die Container nicht mehr.
    Fehler beim Ausführen von docker-compose up -d
    ERROR: The Compose file ‚./docker-compose.yml‘ is invalid because:
    networks.mailcow-network.ipam.config.subnet is invalid: should use the CIDR format
    Ich habe keine Idee, was ich machen soll.
    Gruß
    Rolf

    1. Peter Fiedler

      Hallo Rolf,
      hab auf meinem Testserver auch gerade ein update.sh gefahren und da ist die Mailcow danach wieder anstandslos hochgekommen.

      Da ich an der Stelle auch nur raten kann, fragst Du am besten direkt im MailCow Forum die Community um Rat:
      https://community.mailcow.email/

      Viel Glück!
      Peter.

    2. Fehler gefunden.
      In der mailcow.conf
      IPV4_NETWORK=172.22.1
      stand dummes Zeug drin.
      Vorsicht beim unsachgemäßen editieren.

      Gruß
      Rolf

  4. Ich möchte die bisherige Installation von Mailcow unter einer anderen URL verfügbar machen, beudetet das Admin-Interface aber auch die SOGO-Instanz. Worauf sollte ich achten und wo muss ich die Anpassungen vornehmen? Der Mail-Hostname ist identisch zur bisherigen URL. Könnte das Probleme geben?

  5. Hallo,
    vielen Dank für die ausführliche Anleitung.
    Hat einer von euch es geschafft Mailcow mit in den Traefik verbund einzufädeln?
    Komme da leider nicht weiter.

    MFG

    1. Okay, habs scheinbar doch selbst geschafft.
      Nachdem ich herausgefunden habe, dass meine DB Passwörter nicht gematched haben.
      Hier meine docker.compose.overwrite.yml – https://pastebin.com/Hg13S0xP
      Zusätzlich halt in der mailcow.conf:
      HTTP_BIND=127.0.0.1
      HTTP_PORT=8080
      HTTPS_BIND=127.0.0.1
      HTTPS_PORT=8443
      SKIP_LETS_ENCRYPT=y
      Dann sollte alles so starten, dass man Mailcow mit dem hier schon vorher eingerichteten Traefik nutzen kann.

      1. Hallo Sascha,
        schön, dass Du es hinbekommen hast und vielen Dank für das Posten der Lösung :)

        Ich hab das immer sein lassen mailcow mit den anderen Diensten zu verbinden, weil die Mailserver bei mir wirklich systemkritisch sind und ich die darum tatsächlich lieber auf eigenen Maschinen hoste. Ein Ausfall würde mein Geschäft schädigen.

        In dieser Anleitung wird das Vorgehen auch beschrieben, die hat Juno damals gefunden:
        https://goneuland.de/mailcow-e-mail-komplettsytem-mit-antivirus-spam-filer-webmail-webfrontend-installieren-mittels-docker-und-traefik/#4_Anpassungen_fuer_Traefik_vornehmen

        Was mich abhält sind zwei Sachen:
        – die Möglichkeit, dass Container „überlappen“ und dann auf einmal Dienste stehen bleiben, weil die sich um die IP prügeln
        – ein Wildcard-Zertifikat für den Mailserver. Für Wildcard muss die API vom Domainanbieter mit in die Config. Und die API von netcup ist leider viel zu mächtig, als dass ich die irgendwo stehen haben will.

  6. Hi, wenn du mal Zeit hast, wäre es toll wenn du mal schauen schauen kannst, ob du eine Möglichkeit siehst, Piler oder einen ähnliches Email Archiv aufzusetzen. Am betsen natürlich in Docker und wie das funktioniert dann. :-)

    1. Da such ich selber so sehr danach, Jan…
      Das ist das Einzige, das dem Mailcow „out of the box“ fehlt – eine Archiv-Funktion.

      Piler hat ein Bekannter von mir am Laufen für seine Firma und dessen Mailarchiv. Muss ich mir doch mal ansehen…

  7. Nachdem ich jetzt mehrmals dieses tolle Tutorial durchforstet habe, habe ich nun doch eine Frage (auf die Gefahr hin, dass ich den Bereich überlesen habe):
    Woher bekomme ich den „Crypt-Key“ für das backup oder wo lege ich diesen fest?

    1. So wie ich das verstanden habe, erzeugt die Mailcow den Schlüssel selbst bei der Installation. Im Backup wird der Schlüssel mit gesichert, damit Du nachher beim Rücksichern die Mails wieder entschlüsseln kannst.
      Jedenfalls hab ich „crypt-key“ beim Backup als Verzeichnis gesehen…

      1. Hallo Peter, danke für die Antwort :-)
        Ich frage nur für den Fall der Fälle. Ich sichere mir den Server auch noch regelmäßig per Backup, aber ggf. benötige ich ja nur mal die Datensicherung.
        Diese tolle ANleitung habe ich übrigens heute einem Freund weiterempfohlen :-D
        Viele Grüße Michael

  8. Ich kam wegen meiner Traefik-Probleme – nun habe ich einen Mail-Server :D

    Deine Erklärungen passen wirklich genau zu meinem Wissenstand. Macht echt Spaß sich da durchzuarbeiten! Danke

  9. Hallo Peter !
    Vielen Dank für diese klasse Anleitung !!!

    Vor allem das Thema Backup & Restore ist sehr hilfreich …
    … sehr passend, da ich es hinbekommen habe, den Cloudspeicherplatz ( HiDrive ) so einzubinden,
    dass nach Aufruf des Backup-Scriptes, die Dateien in ein Verzeichnis gespeichert werden, welches automatisch
    mit HiDrive synchronisiert.

    Jetzt muss ich nur noch die Restore Funktion testen … ;-)
    Gäbe es hier auch die Möglichkeit – wie beim Backup – alles auf einmal wieder herzustellen ?!

    Ach ja, wie sieht es denn mit einer Archiv-Funktion aus ?

    Gruß, Martin

    1. Peter Fiedler

      Gerne, Martin.

      Der Restore funktioniert seit einem der Updates nun auch auf einen Rutsch. Da wurde die Option „All“ mit eingebaut.

      Archiv gibts wohl noch keins – zumindest hab ich noch keins gefunden.

      Beste Grüße
      Peter.

  10. Hallo, hört sich gut an… Ich habe mittlerweile mehrere Container auf deiner Basis installiert. Jetzt möchte ich gerne auch Mailcow ins Leben rufen. Klappt das? Meine Ports sind ja schon sozusagen belegt.

    Danke für deine Hilfe

    1. Nein, leider nicht.
      Die Mailcow läuft bei mir auf einer separaten Maschine. Auch die Macher der Mailcow empfehlen eine eigene Maschine dafür.

      Beste Grüße
      Peter.

        1. Peter Fiedler

          Hi Juno,
          wow, das ist pfiffig…

          Versucht hab ich es, ja. Allerdings hatte ich damals alle Änderungen direkt in der docker-compose.yml drin, die bei jedem Update überschrieben wurde. Dann hab ich es sein lassen.
          Beste Grüße
          Peter.

          1. Schade wie es ausschaut muss ich wohl doch in einen zweiten Server investieren.

          2. Peter Fiedler

            Sorry, da hab ich mich wohl falsch ausgedrückt…
            Mit der Anleitung, die Du mir geschickt hast, ist das Betreiben von mailcow und den Anwendungen auf der selben Maschine möglich. Gibt halt die beschriebenen Konflikte, falls die IP-Range schon in Gebrauch ist. Und Du hängst von einem Image ab, das die Zertifikate von Let’s Encrypt an die mailcow weiterreicht. Aber ansonsten sollte das funktionieren.

            Ich persönlich trenne gerne Mail vom Rest des Systems, nicht nur weil die Macher von der mailcow das empfehlen, sondern auch um unterschiedliche Management-Strategien zu fahren.

          3. Verstehe deine Entscheidung. Die erwähnte Anleitung ist auch sehr kurz gehalten. Über seine DNS-Config erzählt er auch nichts…

          4. Hier geb ich den Tipp den man auch in mailcow’s Anleitungen findet deine Änderungen anstelle sie in die docker-compose.yml zu schreiben, sie in die (zu erstellende Datei) docker-compose.override.yml zu schreiben. Beim Start der docker-compose.yml werden hier noch die Änderungen / überschriebenen Werte aus der docker-compose.override.yml angewendet. Vorteil ist auch bei Updates wird nichts überschrieben, weil die .override.yml nicht Teil des git-repository/des Updates ist.

          5. Danke für den Hinweis!
            Das mit den Updates ist wirklich eine gute Sache… Da bin ich offenbar drüber gestolpert, als ich die Config damals bearbeitet habe.

            Beste Grüße und ein schönes Wochenende ;)
            Peter.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top