So nutzt du: systemd Service Generator
- Wähle eine Voreinstellung — Node.js, Python mit Gunicorn, ein Go-Binary oder ein zeitgesteuertes Skript —, um sinnvolle Standardwerte zu laden.
- Lege den Befehl, das Arbeitsverzeichnis und den Benutzer fest, unter dem er läuft (erstelle ihn mit
useradd --system; starte Apps nie als root). - Füge Umgebungsvariablen oder eine
EnvironmentFilehinzu, wähle die Neustart-Regel und lass das Sandboxing aktiviert. - Kopiere die Unit-Datei nach
/etc/systemd/system/und führe die angezeigten Installationsbefehle aus.
Die drei Abschnitte einer Unit-Datei
| Abschnitt | Wichtige 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.