@@ -0,0 +1,40 @@
|
||||
[Unit]
|
||||
Description={{ description }}
|
||||
# Stellt sicher, dass das Netzwerk bereit ist
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
# 'simple' ist der Standard, 'exec' wartet, bis der Prozess wirklich gestartet ist
|
||||
Type={{ service_type }}
|
||||
|
||||
# Arbeitsverzeichnis (wichtig für relative Pfade im Skript)
|
||||
WorkingDirectory={{ working_dir }}
|
||||
|
||||
# Ausführen als spezifischer Benutzer (Sicherheit!)
|
||||
User={{ user }}
|
||||
Group={{ user }}
|
||||
|
||||
# Umgebungsvariablen (z.B. für Python Pfade oder API Keys)
|
||||
{% if env_vars -%}
|
||||
{% for key, value in env_vars.items() -%}
|
||||
Environment="{{ key }}={{ value }}"
|
||||
{% endfor -%}
|
||||
{% endif %}
|
||||
|
||||
# Vor dem Start kurz warten (optional, falls nötig)
|
||||
{% if wait_before_start -%}
|
||||
ExecStartPre=/usr/bin/sleep {{ wait_before_start }}
|
||||
{% endif %}
|
||||
|
||||
# Der eigentliche Befehl
|
||||
ExecStart={{ exec_command }}
|
||||
|
||||
# Neustart-Logik: Startet den Dienst automatisch neu, wenn er abstürzt
|
||||
Restart=on-failure
|
||||
# Wartezeit zwischen Neustartversuchen
|
||||
RestartSec=5s
|
||||
|
||||
[Install]
|
||||
# Definiert, wann die Unit beim Booten gestartet wird
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user