Listmonk auf einem Managed VPS hosten: Ihre Newsletter auf Ihrem Server

Listmonk auf einem Managed VPS zu hosten heißt, Ihre Abonnentenlisten und Ihre Kampagnen auf einer Maschine zu bewahren, die Ihnen gehört und die unsere Teams aktuell halten und Tag und Nacht beaufsichtigen. Listmonk ist freie Software unter der AGPL-3.0. Dieser Leitfaden folgt der offiziellen Dokumentation: die zu wählende Version, Docker Compose, PostgreSQL, HTTPS, der Versand per SMTP, Bounces, die Einwilligung, Backups und Updates.

Simon Vasconcelos Lee Von Veröffentlicht am 12. November 2026Lesezeit: 13 Minuten

Alle Leitfäden

Das Wichtigste in Kürze

  1. Die AGPL-3.0 erlaubt es, Listmonk im Unternehmen zu nutzen, ohne eine Lizenz zu kaufen; wenn Sie es ändern, müssen Ihre Nutzer aus der Ferne den Quellcode Ihrer Version erhalten können.
  2. Installieren Sie die stabile Version 6.2.0 mit einem festen Docker-Tag: Die Version 7, auf GitHub an erster Stelle angezeigt, ist noch eine Beta.
  3. Docker Compose startet Listmonk und PostgreSQL. Veröffentlichen Sie den Port 9000 lokal, betreiben Sie ihn mit HTTPS hinter einem Reverse Proxy und tragen Sie seine „Root URL“ ein.
  4. Listmonk sendet über die SMTP-Server, die Sie konfigurieren: Nehmen Sie für den Massenversand einen spezialisierten Versanddienst auf Port 587, mit SPF, DKIM und DMARC auf Ihrer Domain.
  5. Bevorzugen Sie das Double-Opt-in, aktivieren Sie die Verarbeitung der Bounces und exportieren Sie die Datenbank vor jedem Update mit pg_dump.

Was Listmonk kann

Listmonk verwaltet Ihre Verteilerlisten und Ihre Newsletter über eine Weboberfläche. Es ist ein einzelnes, in Go geschriebenes Programm, dessen einzige Abhängigkeit PostgreSQL ist. Seine Listen sind einseitig: Sie schreiben an Ihre Abonnenten, und es handelt sich nicht um eine Diskussionsliste unter ihnen.

Was die AGPL-3.0 erlaubt

Listmonk wird unter der GNU AGPL Version 3 veröffentlicht. Sie können es nutzen, auch im Unternehmen, und Ihre Kampagnen wie die Ihrer Kunden versenden, ohne eine Lizenz zu kaufen. Bleiben die Kosten für den Server und für Ihren Versanddienst.

Artikel 13 fügt eine Bedingung hinzu, die der AGPL eigen ist: Wenn Sie das Programm ändern, muss Ihre Version allen, die es aus der Ferne über das Netzwerk nutzen, deutlich anbieten, ihren Quellcode kostenlos zu erhalten. Wenn Sie Kopien weitergeben, gelten auch die Pflichten der Lizenz zur Weitergabe des Codes. Listmonk unverändert zu betreiben, löst diesen Artikel nicht aus.

Welche Version von Listmonk sollte man installieren?

Ein Punkt, den Sie vor dem Beginn kennen sollten. Auf GitHub bezeichnet das Etikett „Latest“ derzeit die v7.0.0-beta.2 vom 10. November 2026, die das Projekt selbst als Beta darstellt. Die letzte stabile Version ist die v6.2.0, die Sicherheitskorrekturen für die Berechtigungen enthält. Am 11. November 2026 bezeichnet das Docker-Image latest diese v6.2.0.

VersionDocker-ImageStand
v6.2.0listmonk/listmonk:v6.2.0Stabil: die Version dieses Leitfadens
v7.0.0-beta.2listmonk/listmonk:betaBeta: auf einer Kopie auszuprobieren, mit einem Backup
nightlylistmonk/listmonk:nightlyLaut Projekt ungetestet: auf eigenes Risiko

Die Version 7 ersetzt die gesamte Administrationsoberfläche, ändert einige ihrer Adressen, macht aus der Einstellung app.from_email eine Adressliste und ändert Übersetzungsschlüssel, was benutzerdefinierte Vorlagen betrifft. Lesen Sie ihre Release Notes, bevor Sie darauf wechseln.

Die Compose-Datei des Projekts führt bei jedem Start --upgrade --yes aus: Ein neues Image migriert die Datenbank, ohne Sie zu fragen. Eine migrierte Datenbank lässt sich aber mit einer älteren Version nicht mehr lesen, und ein Zurück verlangt die Wiederherstellung eines Backups. Mit einem festen Tag wie v6.2.0 bleibt der Versionswechsel Ihre Entscheidung.

Die Installation mit Docker Compose

Das Projekt empfiehlt Docker Compose: Seine Datei startet Listmonk und PostgreSQL gemeinsam. Legen Sie auf einem Server, auf dem Docker installiert ist, einen Ordner an und holen Sie diese Datei:

Terminal
mkdir listmonk
cd listmonk
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml

Das Projekt verlangt, diese Datei an Ihre Umgebung anzupassen. Das sind die einzigen Zeilen, die Sie ändern, der Rest bleibt unverändert:

docker-compose.yml, die zu ändernden Zeilen
x-db-credentials: &db-credentials
  POSTGRES_USER: &db-user listmonk
  POSTGRES_PASSWORD: &db-password un-mot-de-passe-long
  POSTGRES_DB: &db-name listmonk

services:
  app:
    image: listmonk/listmonk:v6.2.0
    ports:
      - "127.0.0.1:9000:9000"
    hostname: listmonk.example.com

Starten Sie dann die Dienste und legen Sie dabei das Super-Admin-Konto gleich an. Diese beiden Variablen dienen nur dem ersten Start, und ohne sie wird das Konto beim ersten Besuch der Oberfläche angelegt: Besser, es existiert, bevor Sie Ihre Domain öffnen.

Terminal
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d

Ohne Docker: das Binary

Listmonk läuft auch als eigenständiges Programm, neben Ihrem eigenen PostgreSQL-Server in Version 12 oder neuer, auf dem die Datenbank bereits angelegt ist.

  1. Laden Sie das Archiv der v6.2.0 von der Versionsseite des Projekts herunter, zum Beispiel listmonk_6.2.0_linux_amd64.tar.gz, und meiden Sie dabei die an erster Stelle angezeigte Beta; entpacken Sie das Binary.
  2. Erzeugen Sie die Konfigurationsdatei und tragen Sie dann die Zugangsdaten zur Datenbank in config.toml ein.
  3. Installieren Sie die Tabellen und starten Sie dann Listmonk.
Terminal
./listmonk --new-config
./listmonk --install
./listmonk

Standardmäßig lauscht config.toml auf localhost:9000, was hinter einem Reverse Proxy passt. Das Repository liefert eine Dienstdatei listmonk@.service für systemd.

Die Größe des Servers

Die Website des Projekts nennt eine Produktionsinstanz, die eine Kampagne von mehr als 7 Millionen E-Mails mit einem Bruchteil eines Prozessorkerns und einer Spitze von 57 MB Arbeitsspeicher versendet. Sie veröffentlicht weder ein Minimum noch eine Zahl für PostgreSQL, dessen Volumen mit Ihren Abonnenten, Ihren Öffnungen und Ihren Klicks wächst. Auf einem Managed VPS beschreiben Sie uns Ihren Einsatz, und wir empfehlen Ihnen die passende Größe.

HTTPS und der Reverse Proxy

Ihre Abonnenten klicken auf Links, die auf Ihre Instanz zeigen: Abmeldung, Bestätigung, Klickverfolgung. Sie wird daher mit HTTPS unter einem eigenen Domainnamen betrieben. Legen Sie die A- und AAAA-Einträge dieses Namens auf Ihren Server an, wo die Besucher über die Ports 80 und 443 ankommen. Die Dokumentation von Listmonk lässt die Wahl des Proxys offen, hier zwei gängige Konfigurationen.

Mit Caddy

Caddy bezieht und erneuert das Zertifikat selbstständig:

Caddyfile
listmonk.example.com {
    reverse_proxy 127.0.0.1:9000
}

Mit Nginx und Certbot

Nginx lehnt standardmäßig Anfragen über 1 MB mit einem Fehler 413 ab. Um eine Abonnentendatei oder Bilder zu importieren, erhöhen Sie dieses Limit passend zu Ihren Dateien:

Nginx-Block
server {
    listen 80;
    listen [::]:80;
    server_name listmonk.example.com;
    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Certbot richtet anschließend das Zertifikat von Let’s Encrypt und die Weiterleitung auf HTTPS ein und erneuert das Zertifikat danach selbstständig:

Terminal
sudo certbot --nginx -d listmonk.example.com

Die ersten Einstellungen

Melden Sie sich auf https://listmonk.example.com/admin an und öffnen Sie dann „Settings“:

Was öffentlich bleibt und was sich schließen lässt

Um den Zugang zu filtern, nach IP-Adresse oder über einen Authentifizierungs-Proxy, teilt die Dokumentation die Routen so ein:

RoutenAufgabeZugang
/admin/*, /api/*, /webhooks/bounceDie Administration, ihre API und der interne Bounce-WebhookPrivat
/subscription/*, /public/*Die Anmeldeseiten und ihre DateienÖffentlich
/link/*, /campaign/*Die Linkverfolgung und das Tracking-PixelÖffentlich
/webhooks/service/*Die Bounces, die Ihr Versanddienst sendetÖffentlich
/uploads/*Die Bilder Ihrer E-MailsÖffentlich

Der Versand: Listmonk nutzt Ihre SMTP-Server

Listmonk bereitet Ihre E-Mails vor und taktet sie, dann übergibt es sie den SMTP-Servern, die Sie unter „Settings“, „SMTP“ deklarieren. Es liefert sie nicht selbst an die Postfächer Ihrer Abonnenten aus: Die Qualität der Zustellung hängt also von diesem Server, Ihrer Domain und Ihren Listen ab.

Wählen Sie für den Massenversand einen spezialisierten Versanddienst: Er trägt die Reputation Ihrer Sendungen und die Signaturen Ihrer Domain und kann Bounces zurückmelden. Von einem Simafri-VPS aus läuft der Versand über ein authentifiziertes SMTP-Relay auf Port 587: hier das dieses Dienstes.

Zur Orientierung: Die Dokumentation von Listmonk beschreibt die Bounces von Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email und Lettermint. Vergleichen Sie sie nach Ihrem Volumen und Ihren Empfängern.

EinstellungWertWas Sie prüfen
HostDie SMTP-Adresse Ihres DienstesErsetzt den mitgelieferten Beispielwert
Port587Die Voreinstellungen des Bildschirms schlagen oft einen anderen Port vor: Wechseln Sie zurück auf 587
TLSSTARTTLSPasst zum Port 587
Auth protocolDas Ihres Dienstes, oft LOGINMit dem SMTP-Benutzernamen und -Passwort des Dienstes

Klicken Sie dann auf „Test connection“: Listmonk sendet eine Testnachricht und zeigt den Fehler des Servers an, falls der Versand scheitert. Sie können mehrere Server deklarieren, pro Kampagne einen davon wählen oder die Sendungen nach Absenderadresse oder -domain leiten.

Der Durchsatz

Stellen Sie ihn unter „Settings“, „Performance“ ein, unterhalb des Limits Ihres Dienstes:

Eine fehlgeschlagene Nachricht wird gemäß der Einstellung „Retries“ über andere Verbindungen des Servers erneut versucht. Scheitert sie weiter, vermerkt Listmonk sie als Fehler und geht zur nächsten über: Beobachten Sie diese Fehler während einer großen Kampagne.

Zustellbarkeit, Abmeldung und Einwilligung

Die Anwendung selbst zu hosten, macht Sie zum Herrn über diese Themen, und sie entscheiden, ob Ihre E-Mails ankommen.

SPF, DKIM und DMARC

Senden Sie von einer Adresse Ihrer Domain und veröffentlichen Sie in deren DNS-Zone die SPF- und DKIM-Einträge, die Ihr Versanddienst Ihnen gibt, dazu einen DMARC-Eintrag. Google verlangt alle drei von Absendern von mehr als 5.000 Nachrichten pro Tag an Gmail-Konten, mit einer an SPF oder DKIM ausgerichteten Absenderdomain, der Ein-Klick-Abmeldung für Marketing-Nachrichten und einer Spam-Meldequote unter 0,30 %, idealerweise unter 0,10 %.

Die Abmeldung

Die Einwilligung Ihrer Empfänger

Listmonk wendet den Listentyp an, den Sie wählen. Auf einer Liste mit Single-Opt-in erhält ein ohne Bestätigung hinzugefügter Abonnent Ihre Kampagnen trotzdem. Auf einer Liste mit Double-Opt-in erhält er zuerst eine Bestätigungs-E-Mail, und nur bestätigte Abonnenten erhalten Ihre Kampagnen. Das ist die Wahl, die Ihre Versandreputation am besten schützt und eine klare Spur der Zustimmung bewahrt.

Die Regeln hängen vom Land Ihrer Empfänger ab. In Frankreich zum Beispiel verlangt die CNIL die vorherige Einwilligung von Privatpersonen, durch eine positive Handlung wie ein nicht vorausgewähltes Kästchen, mit einer Ausnahme für Ihre Kunden bei ähnlichen Produkten oder Dienstleistungen. Zwischen Unternehmen kann sich die Ansprache auf das berechtigte Interesse stützen, wenn sie ihr Berufsfeld betrifft. In jedem Fall nennt jede Nachricht den Absender und bietet eine einfache Möglichkeit, weitere abzulehnen.

Schreiben Sie nur an Personen, die Ihre Nachrichten erwarten. Eine gekaufte oder alte Liste lässt die Bounces und Spam-Meldungen steigen, und die Folgen trägt Ihre Domain.

Die Verfolgung von Öffnungen und Klicks

Das Tracking-Pixel und die Klickverfolgung berühren die Privatsphäre, und die Dokumentation verlangt, sie im Einklang mit Regeln wie der DSGVO zu nutzen. Standardmäßig wird diese Verfolgung nicht mit jedem Abonnenten verknüpft: Die Option „Individual subscriber tracking“ verknüpft sie, und „Disable tracking“ schaltet sie ganz ab, unter „Settings“, „Privacy“.

Die Bounces

Weiter an eine Adresse zu schreiben, die Ihre Nachrichten zurückweist, schadet Ihrer Versandreputation. Die Verarbeitung der Bounces ist zu Beginn deaktiviert: Aktivieren Sie sie unter „Settings“, „Bounces“ und wählen Sie dann einen dieser beiden Wege.

Für ein eigenes Postfach deklarieren Sie es als Rückadresse unter „Settings“, „SMTP“, „Custom headers“:

Benutzerdefinierte Header
[
  {"Return-Path": "your-bounce-inbox@example.com"}
]

Die Startwerte sind die, die die Dokumentation für SES angibt, und sie bilden eine gute Basis:

Art des BouncesAnzahlAktion
Soft (leicht)2None: keine
Hard (endgültig)1Blocklist: Die Adresse wird gesperrt
Complaint (Spam-Meldung)1Blocklist: Die Adresse wird gesperrt

PostgreSQL, die einzige Abhängigkeit

Listmonk verlangt PostgreSQL 12 oder neuer. Die Compose-Datei bringt postgres:17-alpine mit, mit seinen Daten im Docker-Volume listmonk-data. Abonnenten, Kampagnen, Vorlagen, Statistiken und die meisten Einstellungen leben dort; nur die Zugangsdaten zur Datenbank und die Lauschadresse bleiben in der Konfiguration.

Um einen bestehenden PostgreSQL-Server anzusprechen, ändern Sie die Variablen LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password und LISTMONK_db__database des Dienstes app.

Listmonk ist für große Listen gemacht. Wächst die Datenbank, kann sie es sein, die die Oberfläche bremst: Bei Millionen von Abonnenten können das Dashboard und die Zähler Dutzende von Sekunden zum Anzeigen brauchen. Das Projekt rät dann zu zwei Maßnahmen:

Terminal, im Ordner der docker-compose.yml
docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'

Backups und Updates

Zwei Elemente machen Ihre Instanz aus: die PostgreSQL-Datenbank und der Ordner uploads, falls Ihre Bilder auf der Festplatte bleiben. pg_dump erzeugt einen konsistenten Export, ohne Listmonk anzuhalten oder die anderen Zugriffe auf die Datenbank zu blockieren:

Terminal, im Ordner der docker-compose.yml
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads

Zum Wiederherstellen stoppen Sie Listmonk, leeren die Datenbank und laden dann den Export neu. Wie die Dokumentation klarstellt, löscht dieser Schritt die vorhandene Datenbank:

Terminal
docker compose stop app
docker compose exec db psql -U listmonk -d listmonk -c 'DROP SCHEMA public CASCADE; CREATE SCHEMA public;'
docker compose exec -T db psql -U listmonk -d listmonk < listmonk-2026-11-01.sql
docker compose start app

Aktualisieren

  1. Lesen Sie die Release Notes der neuen Version: Listmonk weist in seiner Oberfläche auf neue Versionen hin, und manche enthalten Sicherheitskorrekturen.
  2. Exportieren Sie die Datenbank, wie es das Projekt vor jedem Update verlangt.
  3. Ändern Sie das Tag des Images in der docker-compose.yml.
  4. Führen Sie die Befehle aus der Dokumentation aus. Die Compose-Datei migriert die Datenbank beim Start.
Terminal
docker compose down app
docker compose pull
docker compose up app -d

Mit dem Binary stoppen Sie Listmonk, ersetzen das Binary, führen ./listmonk --upgrade aus und starten es dann neu. Um zu einer früheren Version zurückzukehren, stellen Sie den vor dem Update gezogenen Export wieder her und setzen dann das alte Tag zurück.

Wer was tut auf einem Managed VPS

Beim Selbsthosting müssen Sie neben der Anwendung auch den Server betreuen. Auf einem Managed VPS übernehmen unsere Teams den Server und betreuen Ihre Instanz proaktiv; Listmonk bleibt Ihre Software, mit ihren Einstellungen, Ihren Listen und Ihren Kampagnen.

ThemaUnsere TeamsSie
Der ServerSystem- und Sicherheitsupdates, Eingriffe am Server inbegriffenDer Zeitpunkt, der zu Ihrem Betrieb passt
Die ÜberwachungServer rund um die Uhr im Blick, mit Eingriff, ohne auf Ihren Anruf zu wartenDie Verfolgung Ihrer Kampagnen und Ihrer Bounces
ListmonkProaktive Betreuung: Fehler, lange Antwortzeiten und Speicherplatz erkannt, Korrektur empfohlenInstallation, Updates und Einstellungen, die Sie umsetzen, selbst oder mit Ihrem KI-Assistenten
Der VersandEin Server, der Ihr SMTP-Relay auf Port 587 erreichtIhr Versanddienst, Ihre DNS-Einträge, Ihre Listen und die Einwilligung Ihrer Empfänger
Die BackupsJede Nacht, verschlüsselt und außerhalb der Maschine aufbewahrt; Wiederherstellung inbegriffenDie Wiederherstellungsanfrage und Ihr Export vor jedem Update
Die MigrationIhr aktueller Server wird kostenlos migriertDer Zeitpunkt der Umstellung

Wenn unsere Teams lieber in der Anwendung selbst eingreifen sollen, wird diese Leistung nach Stunden oder pauschal abgerechnet, mit einem Kostenvoranschlag vor dem Eingriff.

Listmonk auf einem Server, der für Sie gepflegt wird

Mit einem Managed VPS von Simafri halten unsere Teams den Server Ihrer Listmonk-Instanz aktuell, überwachen ihn Tag und Nacht und greifen ein, ohne auf Ihren Anruf zu warten; sie betreuen auch Ihre Instanz proaktiv und empfehlen Ihnen die sinnvollen Korrekturen, die Sie umsetzen, selbst oder mit Ihrem KI-Assistenten. Die Backups werden jede Nacht verschlüsselt und außerhalb der Maschine aufbewahrt, ihre Wiederherstellung ist inbegriffen, und die Migration Ihres aktuellen Servers ist kostenlos.

Managed VPS entdecken

Häufige Fragen

Ist Listmonk für Unternehmen kostenlos?

Ja. Listmonk steht unter der AGPL-3.0: Sie können es im Unternehmen nutzen, ohne eine Lizenz zu kaufen. Wenn Sie es ändern, müssen Ihre Nutzer aus der Ferne den Quellcode Ihrer Version erhalten können. Bleiben die Kosten für den Server und für Ihren Versanddienst.

Welche Version von Listmonk sollte man installieren?

Die v6.2.0, die letzte stabile Version am 11. November 2026. Die v7.0.0-beta.2, auf GitHub an erster Stelle angezeigt, ist eine Beta. Legen Sie in Docker Compose das Image auf listmonk/listmonk:v6.2.0 fest: Der Versionswechsel bleibt dann Ihre Entscheidung, denn eine migrierte Datenbank lässt sich mit einer älteren Version nicht mehr lesen.

Wie installiert man Listmonk mit Docker Compose?

Holen Sie die Datei docker-compose.yml des Projekts, ändern Sie das Passwort der Datenbank und das Tag des Images und starten Sie docker compose up -d. Die Oberfläche antwortet auf Port 9000, mit PostgreSQL daneben. Betreiben Sie sie mit HTTPS hinter einem Reverse Proxy und tragen Sie ihre Root URL ein.

Welchen SMTP-Server nutzt man mit Listmonk?

Listmonk sendet über die SMTP-Server, die Sie konfigurieren. Nehmen Sie für den Massenversand einen spezialisierten Versanddienst, mit STARTTLS auf Port 587, und veröffentlichen Sie SPF, DKIM und DMARC auf Ihrer Domain. Die Dokumentation von Listmonk beschreibt zum Beispiel die Bounces von Amazon SES, SendGrid und Postmark.

Wie verwaltet man die Bounces in Listmonk?

Aktivieren Sie die Verarbeitung unter Settings, Bounces und binden Sie dann den Webhook Ihres Versanddienstes oder ein eigenes POP3-Postfach an. Die Startwerte sperren eine Adresse schon bei einem endgültigen Bounce oder einer Spam-Meldung.

Wie sichert man Listmonk?

Exportieren Sie die Datenbank mit pg_dump, ohne den Dienst anzuhalten, und bewahren Sie den Ordner uploads auf, wenn Ihre Bilder auf der Festplatte liegen. Das Projekt verlangt diesen Export vor jedem Update, denn eine frühere Version liest eine bereits migrierte Datenbank nicht mehr.

Verwaltet Listmonk Einwilligung und Abmeldung?

Es gibt Ihnen die Werkzeuge dafür: Listen mit Double-Opt-in, Abmeldelink in Ihren Vorlagen, Header List-Unsubscribe, Export und Löschung der Daten durch den Abonnenten. Die Einwilligung selbst müssen Sie auf Ihrer Seite einholen, nach den Regeln des Landes Ihrer Empfänger.

Deckt ein Managed VPS Listmonk ab?

Ein Managed VPS deckt den Server ab: System, Sicherheit, Überwachung und Backups. Unsere Teams betreuen auch Ihre Instanz proaktiv und empfehlen Ihnen die sinnvollen Korrekturen, die Sie umsetzen. Ein Eingriff in der Anwendung wird nach Stunden oder pauschal abgerechnet.

Quellen und offizielle Dokumentation

Kontaktieren Sie uns