Schlagwort-Archive: Startskript

debian | Node.JS Applikationen als systemd-Service

Letztens bin ich auf ein recht neues Projekt gestossen, was als Node.JS Applikation realisiert wurde. Es handelt sich um Mailtrain – ein Newsletter-Service, der selbst gehostet werden kann. Das Ganze sieht recht vielversprechend aus, so dass ich eine Testinstallation, wie immer bei mir, in einer eigenen VM wagte. Und schon bin ich darüber gestolpert, dass es dafür kein Init-Skript oder systemd.service gibt. Und da es mich etwas Zeit gekostet hat mir die Informationen dafür zusammenzutragen, möchte ich das hier mal fix aufschreiben.

In den Mailtrain-Sources gibt es ein upstart-Skript, aber kein systemd.service, aber als Anhaltspunkt schon mal nicht schlecht. Nach einiger Lektüre auf den verschiedensten Webseiten habe ich mir dann folgende Datei unter /etc/systemd/system erstellt:

[Unit]
Description=Mailtrain - a Node.JS newsletter app

[Service]
Environment="NODE_ENV=production"
WorkingDirectory=/srv/mailtrain
ExecStart=/usr/bin/node index.js >> /var/log/mailtrain.log 2>&1
Type=simple
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Nun kann man den Dienst mit

systemctl enable mailtrain.service

installieren und mit

service mailtrain start

starten.

Ich denke, das man dies als Vorlage für andere Node.JS Applikationen nehmen kann.