ListMonk installieren

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

ListMonk

ListMonk [1] ist ein Newsletter-Manager zum Selbsthosten, und steht unter der Open Source Lizenz AGPLv3.

Monk hat in diesem Fall nichts mit einem Mönch zu tun, sondern ist eine versteckte Anspielung auf Monkey, da ListMonk eine Alternative zu MailChimp (Chimpanse) ist.

Achtung: Listmonk wirbt damit, Newsletter- und Mailinglisten-Manager zu sein. Laut Fehlerbericht ist das Tool aber lediglich für Einweg-Kommunikation (Newsletter) vorgesehen.

Zur Technik

ListMonk ist in Go geschrieben, und wird als ein einziges Binary (Programm) installiert. Man muss im Shared Webspace bei Hostsharing einen Service dazu buchen, oder man setzt es auf einem Managed Server von Hostsharing ein.

Im Hintergrund wird PostgreSQL als Datenbank benutzt.

ListMonk bietet Anmeldungen per Double-Opt-In, und es gibt auch eine API für die Integration mit CRM/ERP Systemen (https://listmonk.app/docs/apis/apis/).

Zur Installation

Die Installation ist recht einfach: https://listmonk.app/docs/installation/

  • Das Programm beispielsweise auf Github herunterladen und entpacken
  • Vorher den Hostsharing Service um eine freie Port Nummer fragen.
  • Eine Datenbank anlegen
  • Mit systemd wird das Programm als Dienst gestartet. Hierzu wird das Verzeichnis ~/.config/systemd/user/ erstellt und eine .service Datei angelegt:
[Unit]
Description=Listmonk

[Service]
Type=simple
Restart=on-abort
WorkingDirectory=/home/pacs/xyz00/users/newsletter
# --config mit vollständigem Pfad zum Configfile falls nicht im WorkingDirectory
ExecStart=/home/pacs/xyz00/users/newsletter/bin/listmonk

[Install]
WantedBy=default.target
  • Start und aktivieren von Autostart mittels systemctl enable --now --user listmonk
  • Beispiel Webserver--Konfiguration unter doms/meine-domain/htdocs-ssl/.htaccess
DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RequestHeader set X-Forwarded-Proto "https"
# Port entsprechend der config.toml nach Absprache mit Service s.o.
RewriteRule ^(.*) http://127.0.0.1:9000/$1 [proxy,last]

Installation mit Ansible Skript

Es gibt ein Ansible Skript für Hostsharing [2], das die Installation automatisiert vornimmt, und schon den SMTP und POP Zugang konfiguriert.

Dort kann man sicherlich auch Feinheiten der Installation abschauen, wenn man ListMonk manuell installieren will.

Zur Bedienung

Hier ist ein Bildschirmfoto zur Einrichtung von SMTP für den Versand der E-Mails:

ListMonk SMTPSetup.png


Hier ist ein Bildschirmfoto zur Generierung des Formulars zur Anmeldung für einen Newsletter:

ListMonk SubscriptionForm.png

Links