Mailtrain Installation · 7 min read · Sep 30, 2025

So installieren Sie die Mailtrain-Newsletter-Software auf Ubuntu 18.04

Mailtrain ist eine kostenlose, Open-Source- und selbstgehostete Newsletter-Anwendung, die auf Node.js basiert und MySQL/MariaDB-Datenbank-Backends unterstützt. Mailtrain ermöglicht es Ihnen, Abonnenten manuell, über die API oder durch Importieren einer CSV-Datei hinzuzufügen. Mailtrain bietet eine umfangreiche Funktionalität, darunter Vorlagen-Editoren, Automatisierung, benutzerdefinierte Felder, RSS-Kampagnen, HTML-Code-Editor und vieles mehr. Wenn Sie eine lange Liste von Abonnenten haben und diese einfach verwalten möchten, ist Mailtrain die beste Wahl für Sie.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Mailtrain-Newsletter-Anwendung mit Docker auf einem Ubuntu 18.04-Server installieren.

Anforderungen

  • Ein Server, der Ubuntu 18.04 ausführt.
  • Ein gültiger Domainname, der auf Ihre Server-IP verweist.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihr System mit der neuesten Version aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

apt-get update -y  
apt-get upgrade -y

Starten Sie anschließend Ihr System neu, um die Änderungen anzuwenden.

Docker und Docker Compose installieren

Standardmäßig ist die neueste Version von Docker nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Daher müssen Sie das Docker-Repository zu Ihrem System hinzufügen.

Zuerst installieren Sie die erforderlichen Pakete mit dem folgenden Befehl:

apt-get install curl git apt-transport-https ca-certificates -y

Laden Sie als Nächstes den PGP-Schlüssel von Docker mit dem folgenden Befehl herunter und fügen Sie ihn hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Fügen Sie als Nächstes das Docker CE-Repository hinzu, indem Sie die Datei /etc/apt/sources.list bearbeiten:

nano /etc/apt/sources.list

Fügen Sie die folgende Zeile am Ende der Datei hinzu:

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Aktualisieren Sie dann das Repository und installieren Sie Docker CE mit den folgenden Befehlen:

apt-get update -y  
apt-get install docker-ce -y

Sobald die Installation erfolgreich abgeschlossen wurde, können Sie den Status des Docker-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status docker

Sie sollten die folgende Ausgabe sehen:

Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-10-24 16:15:25 UTC; 21min ago
     Docs: https://docs.docker.com
 Main PID: 1402 (dockerd)
    Tasks: 45
   CGroup: /system.slice/docker.service
           ?? 1402 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ??10312 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3000 -container-ip 172.18.0.4 -container-port 3000

Oct 24 16:23:04 ubuntu1804 dockerd[1402]: time="2019-10-24T16:23:04.817021656Z" level=info msg="Layer sha256:b875b006eb8ffb0434ce3a26cb04c9017c
Oct 24 16:24:09 ubuntu1804 dockerd[1402]: time="2019-10-24T16:24:09.879265134Z" level=info msg="ignoring event" module=libcontainerd namespace=
Oct 24 16:24:10 ubuntu1804 dockerd[1402]: time="2019-10-24T16:24:10.065610315Z" level=warning msg="20676b10252b4a484e32a7d7534b3b386cc2a1e5efd1
Oct 24 16:25:52 ubuntu1804 dockerd[1402]: time="2019-10-24T16:25:52.649551513Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab
Oct 24 16:26:47 ubuntu1804 dockerd[1402]: time="2019-10-24T16:26:47.428865652Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab
Oct 24 16:27:41 ubuntu1804 dockerd[1402]: time="2019-10-24T16:27:41.603287585Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab

Installieren Sie als Nächstes die neueste Version von Docker Compose mit dem pip-Befehl wie unten gezeigt:

apt-get install python-pip  
apt-get install docker-compose

Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.

Mailtrain mit Docker installieren

Laden Sie zuerst die neueste Version von Mailtrain aus dem Git-Repository mit dem folgenden Befehl herunter:

git clone git://github.com/Mailtrain-org/mailtrain.git

Ändern Sie als Nächstes das Verzeichnis zu mailtrain und benennen Sie die Standard-Docker-Compose-Datei um:

cd mailtrain  
mv docker-compose.override.yml.tmpl docker-compose.override.yml

Starten Sie als Nächstes die Mailtrain-Docker-Container mit dem folgenden Befehl:

docker-compose up -d

Dieser Befehl lädt und startet die Mailtrain-, MySQL- und Redis-Container wie unten gezeigt:

Creating network "mailtrain_default" with the default driver
Creating volume "mailtrain_mailtrain-node-config" with default driver
Creating volume "mailtrain_mailtrain-node-data" with default driver
Creating volume "mailtrain_mailtrain-redis-data" with default driver
Creating volume "mailtrain_mailtrain-node-reports" with default driver
Creating volume "mailtrain_mailtrain-mysq-data" with default driver
Pulling redis (redis:3.0)...
3.0: Pulling from library/redis
f5cc0ee7a6f6: Pull complete
5fc25ed18e87: Pull complete
e025bc8872f6: Pull complete
77c68b51b836: Pull complete
7c403ece3755: Pull complete
0a653bd338f4: Pull complete
31531fd948c6: Pull complete
Digest: sha256:730b765df9fe96af414da64a2b67f3a5f70b8fd13a31e5096fee4807ed802e20
Status: Downloaded newer image for redis:3.0
Pulling mysql (mysql:5.7)...
5.7: Pulling from library/mysql
80369df48736: Pull complete
e8f52315cb10: Pull complete
cf2189b391fc: Pull complete
cc98f645c682: Pull complete
27a27ac83f74: Pull complete
fa1f04453414: Pull complete
d45bf7d22d33: Pull complete
c7d49ffebc56: Pull complete
511a8052b204: Pull complete
5d5df4c12444: Pull complete
d482603a2922: Pull complete
Digest: sha256:44b33224e3c406bf50b5a2ee4286ed0d7f2c5aec1f7fdb70291f7f7c570284dd
Status: Downloaded newer image for mysql:5.7
Building mailtrain
:
:
Removing intermediate container 20676b10252b
 ---> 0abdb4121f54
Step 6/9 : COPY . /app
 ---> c8af7560e844
Step 7/9 : EXPOSE 3000
 ---> Running in 3ff55179a229
Removing intermediate container 3ff55179a229
 ---> d83b49d4b24b
Step 8/9 : ENTRYPOINT ["bash", "/app/docker-entrypoint.sh"]
 ---> Running in e5baf6a1ea2e
Removing intermediate container e5baf6a1ea2e
 ---> c4f899a0f8f9
Step 9/9 : CMD ["node", "index.js"]
 ---> Running in fe94519d2bd3
Removing intermediate container fe94519d2bd3
 ---> 2808c2972f20
Successfully built 2808c2972f20
Successfully tagged mailtrain:latest
WARNING: Image for service mailtrain was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating mailtrain_redis_1 ... done
Creating mailtrain_mysql_1 ... done
Creating mailtrain_mailtrain_1 ... done

Sie können jetzt alle laufenden Container mit dem folgenden Befehl überprüfen:

docker ps

Sie sollten die folgende Ausgabe sehen:

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
0e837c586c39        mailtrain:latest    "bash /app/docker-en…"   About a minute ago   Up 55 seconds       0.0.0.0:3000->3000/tcp   mailtrain_mailtrain_1
49a4e69a09c6        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp, 33060/tcp      mailtrain_mysql_1
a1449b64a196        redis:3.0           "docker-entrypoint.s…"   About a minute ago   Up About a minute   6379/tcp                 mailtrain_redis_1

Zugriff auf die Mailtrain-Weboberfläche

Der Mailtrain-Container ist jetzt gestartet und hört auf Port 3000. Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://your-server-ip:3000 ein. Sie sollten das Standard-Dashboard von Mailtrain auf der folgenden Seite sehen:

Mailtrain

Klicken Sie nun auf die Schaltfläche Anmelden. Sie sollten die folgende Seite sehen:

Anmelden - mailtrain

Geben Sie den Standardbenutzernamen und das Passwort als admin/admin ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten das Standard-Dashboard von Mailtrain auf der folgenden Seite sehen:

Mailtrain Dashboard

Nginx als Reverse-Proxy für Mailtrain konfigurieren

Als Nächstes müssen Sie Nginx als Reverse-Proxy für Mailtrain auf Port 3000 erstellen. Installieren Sie dazu zuerst den Nginx-Webserver, indem Sie den folgenden Befehl ausführen:

apt-get install nginx -y

Erstellen Sie als Nächstes eine Nginx-virtuelle Hostkonfigurationsdatei mit dem folgenden Befehl:

nano /etc/nginx/sites-available/mailtrain.conf

Fügen Sie die folgenden Zeilen hinzu:

upstream mailtrain {
  server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     example.com;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://mailtrain/;
  }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx auf Syntaxfehler mit dem folgenden Befehl:

ginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Aktivieren Sie als Nächstes die Nginx-virtuelle Hostdatei mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/mailtrain.conf /etc/nginx/sites-enabled/

Starten Sie schließlich den Nginx-Webserver neu, um die Konfiguration anzuwenden:

systemctl restart nginx

Mailtrain mit Let’s Encrypt sichern

Als Nächstes müssen Sie den Certbot-Client installieren, um Mailtrain mit dem kostenlosen SSL von Let’s Encrypt zu sichern. Standardmäßig ist die neueste Version von Certbot nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Fügen Sie daher das Certbot-Repository hinzu, indem Sie den folgenden Befehl ausführen:

add-apt-repository ppa:certbot/certbot

Aktualisieren Sie als Nächstes das Repository und installieren Sie Certbot mit dem folgenden Befehl:

apt-get update -y  
apt-get install certbot python-certbot-nginx -y

Sobald die Installation abgeschlossen ist, führen Sie den folgenden Befehl aus, um das kostenlose SSL von Let’s Encrypt für Ihre Domain example.com herunterzuladen und Nginx so zu konfigurieren, dass dieses Zertifikat verwendet wird.

certbot --nginx -d example.com

Geben Sie Ihre E-Mail-Adresse an und stimmen Sie den Nutzungsbedingungen zu. Sobald das Zertifikat erfolgreich installiert wurde, sollten Sie die folgende Ausgabe sehen:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Herzlichen Glückwunsch! Sie haben erfolgreich https://example.com aktiviert

Sie sollten Ihre Konfiguration unter testen:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

WICHTIGE HINWEISE:
 - Herzlichen Glückwunsch! Ihr Zertifikat und die Kette wurden gespeichert unter:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Ihre Schlüsseldatei wurde gespeichert unter:
   /etc/letsencrypt/live/example.com/privkey.pem
   Ihr Zertifikat läuft am 2020-01-22 ab. Um in Zukunft eine neue oder angepasste Version dieses Zertifikats zu erhalten, führen Sie einfach erneut certbot mit der Option "certonly" aus. Um *alle* Ihre Zertifikate nicht-interaktiv zu erneuern, führen Sie "certbot renew" aus
 - Ihre Kontodaten wurden in Ihrem Certbot
   Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt eine
   sichere Sicherung dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, sodass regelmäßige Sicherungen dieses Ordners ideal sind.
 - Wenn Ihnen Certbot gefällt, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen:

   Spenden an ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Spenden an die EFF:                    https://eff.org/donate-le

Sie können jetzt sicher auf Ihre Mailtrain-Anwendung zugreifen, indem Sie die URL https://example.com verwenden.

Fazit

In dem obigen Tutorial haben wir gelernt, wie man Mailtrain mit Docker auf einem Ubuntu 18.04-Server installiert. Wir haben auch gelernt, wie man Nginx als Reverse-Proxy für Mailtrain konfiguriert und Mailtrain mit dem kostenlosen SSL von Let’s Encrypt sichert. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.