systemd Service Generator — .service-Unit-Datei erstellen

Lass deine App als richtigen Linux-Dienst laufen, der beim Booten startet und nach einem Absturz neu startet. Wähle eine Voreinstellung (Node.js, Python, Go, ein Skript), passe Befehl, Benutzer und Umgebung an und erhalte eine kommentierte .service-Unit-Datei mit optionalem Sandboxing — oder einen .timer, um einen Job wie mit Cron nach Zeitplan auszuführen.

Aktualisiert am
Unit-Datei
Installationsbefehle

Deine Daten verlassen nie deinen Computer. Die Verarbeitung erfolgt zu 100 % lokal im Browser.

So nutzt du: systemd Service Generator

  1. Wähle eine Voreinstellung — Node.js, Python mit Gunicorn, ein Go-Binary oder ein zeitgesteuertes Skript —, um sinnvolle Standardwerte zu laden.
  2. Lege den Befehl, das Arbeitsverzeichnis und den Benutzer fest, unter dem er läuft (erstelle ihn mit useradd --system; starte Apps nie als root).
  3. Füge Umgebungsvariablen oder eine EnvironmentFile hinzu, wähle die Neustart-Regel und lass das Sandboxing aktiviert.
  4. Kopiere die Unit-Datei nach /etc/systemd/system/ und führe die angezeigten Installationsbefehle aus.

Die drei Abschnitte einer Unit-Datei

AbschnittWichtige Einstellungen
[Unit]Description sowie After=/Wants=network-online.target, damit die App erst startet, wenn das Netzwerk verfügbar ist
[Service]ExecStart (absoluter Pfad), User, WorkingDirectory, Environment, Restart und RestartSec
[Install]WantedBy=multi-user.target — hier hängt systemctl enable den Dienst ein, damit er beim Booten startet

Sandboxing

Die Härtungsoptionen machen den Dienst ohne Code-Änderungen deutlich sicherer: NoNewPrivileges, ProtectSystem=strict (das Dateisystem ist schreibgeschützt, außer ReadWritePaths), ProtectHome, PrivateTmp, PrivateDevices und Kernel-Schutzmechanismen. Prüfe das Ergebnis mit systemd-analyze security my-app. Muss die App an einer anderen Stelle schreiben, füge diesen Pfad zu ReadWritePaths hinzu.

Timer statt Cron

Eine .timer-Unit startet einen oneshot-Dienst nach einem Kalenderplan. Anders als bei Cron werden die Läufe im Journal protokolliert, verpasste Läufe können nachgeholt werden (Persistent=true), und den nächsten Lauf siehst du mit systemctl list-timers. Um eine Cron-Zeile in einen OnCalendar-Wert umzuwandeln, nutze den Cron Expression Generator.

Auch gesucht als: systemd service erstellen, systemd service datei erstellen, systemd unit file generator, systemd service file, node js systemd service, python systemd service, systemd timer generator, linux service datei erstellen.

Passende Tools zu: systemd Service Generator

  • Nginx-Konfigurationsgenerator — Wähle aus, was Nginx tun soll – eine statische Website oder ein SPA bereitstellen, als Proxy für eine Node-/Python-App fungieren oder PHP ausführen – und setze ein Häkchen bei den Zusatzoptionen.
  • Dockerfile Generator — Wähle deinen Stack und erhalte ein produktionsreifes Dockerfile: Multi-Stage-Build, gecachte Abhängigkeits-Layer, Non-Root-User, Health-Check und eine passende .dockerignore – Zeile für Zeile erklärt.
  • Apache VirtualHost Generator — Hol dir eine komplette Apache-Virtual-Host-Config für deine Domain: eine statische Seite, WordPress, PHP-FPM oder einen Reverse Proxy zu einer Node- oder Python-App.
  • Caddyfile Generator — Caddy besorgt HTTPS-Zertifikate automatisch — du beschreibst nur deine Seite.

Häufige Fragen

Wo lege ich eine systemd-Service-Datei ab?
Speichere sie als /etc/systemd/system/NAME.service, führe sudo systemctl daemon-reload aus und starte den Dienst mit sudo systemctl enable --now NAME, damit er jetzt und bei jedem Booten läuft.
Wie sehe ich die Logs meines Dienstes?
Mit journalctl -u NAME -f verfolgst du das Log live, mit journalctl -u NAME --since today zeigst du die Einträge von heute. Alles, was die App auf stdout oder stderr ausgibt, landet dort.
Was ist der Unterschied zwischen Restart=always und on-failure?
on-failure startet nur nach einem Absturz oder einem Exit-Code ungleich null neu; always startet auch nach einem sauberen Beenden neu. Nutze on-failure für die meisten Apps und always für Worker, die nie stoppen sollen.
Kann systemd Cron ersetzen?
Ja — aktiviere „Nach Zeitplan ausführen“, um eine .timer-Unit zu erhalten. Timer protokollieren jeden Lauf, können nach Ausfallzeiten nachholen und lassen sich leichter prüfen als Crontab-Einträge.
Kann ich systemd Service Generator als Web-App installieren und offline nutzen?
Ja. systemd Service Generator ist eine installierbare Web-App (PWA) – sie wird über Ihren Browser installiert und nicht aus einem App-Store heruntergeladen. Klicken Sie oben auf dieser Seite in Chrome oder Edge (Windows, macOS, Linux, ChromeOS) auf „App installieren“ oder verwenden Sie auf Android-Geräten „Teilen“ → „Zum Startbildschirm hinzufügen“ auf dem iPhone und iPad bzw. „Datei“ → „Zum Dock hinzufügen“ in Safari 17+ auf einem Mac. Die App öffnet sich dann in einem eigenen Fenster mit einem eigenen Symbol, und da sie vollständig in Ihrem Browser ausgeführt wird, funktioniert sie auch offline. Firefox auf dem Desktop kann keine Web-Apps installieren. So funktioniert die Installation.

Ähnliche Tools