varios.sh bereit. Es überwacht im Hintergrund die Datei update_version und führt bei einer neuen Zielversion automatisch ein Update durch (Docker-Images ziehen, Container neu starten, Migrations-Skripte ausführen).
Damit der Update-Helfer nach einem Neustart des Servers zuverlässig startet, können Sie ihn als systemd-Service registrieren.
Docker muss installiert und startbar sein.
After=docker.service legt die Start-Reihenfolge fest; Wants=docker.service startet Docker beim Start dieses Services mit — auch wenn Docker nicht für den Autostart aktiviert ist. Für Server-Neustarts empfehlen wir zusätzlich systemctl enable docker.service. Der Service führt varios.sh --daemon direkt aus — die Ausgabe landet in journald, nicht in varios.log.Service-Datei
Passen SieWorkingDirectory an das Verzeichnis an, in dem varios.sh liegt:
varios-update.service
Einrichtung
WorkingDirectory anpassen
Setzen Sie
WorkingDirectory in varios-update.service auf den absoluten Pfad zum VARIOS-Installationsverzeichnis mit varios.sh, docker-compose.yml und .env (z. B. /docker/varios/).Betrieb
Steuern Sie den Helfer ausschließlich über systemd — nicht über./varios.sh --stop. Der systemd-Service startet varios.sh --daemon direkt im Vordergrund und legt dabei keine varios.pid an. ./varios.sh --stop greift daher nur, wenn der Helfer zuvor manuell ohne systemd gestartet wurde.
Logs und Fehlersuche
| Quelle | Befehl | Inhalt |
|---|---|---|
| systemd (primär) | journalctl -u varios-update.service -f | Update-Prüfungen, Update-Ablauf, Fehler |
| systemd (letzte Einträge) | journalctl -u varios-update.service -n 50 --no-pager | Kürzliche Historie für die Fehlersuche |
varios.log und varios.pid werden nur erzeugt, wenn Sie ./varios.sh ohne systemd manuell starten — nicht bei Betrieb über diesen Service.
Typische Prüfschritte
Service startet nicht
Service startet nicht
- Läuft Docker?
systemctl status docker.service - Stimmt
WorkingDirectorymit dem Installationsverzeichnis überein? - Wurde nach dem Kopieren der Service-Datei
systemctl daemon-reloadausgeführt? - Details:
journalctl -u varios-update.service -n 50 --no-pager
Service läuft, aber kein Update
Service läuft, aber kein Update
- Enthält
.envdie aktuelleVERSION=? - Liegt in
update_versioneine abweichende Zielversion? - Protokoll prüfen:
journalctl -u varios-update.service -f
Helfer läuft doppelt
Helfer läuft doppelt
- Prüfen, ob zusätzlich ein manuell gestarteter Helfer läuft:
pgrep -af varios.sh - Manuell gestarteten Helfer beenden:
./varios.sh --stop(nur wennvarios.pidexistiert) - systemd-gesteuerten Helfer beenden:
systemctl stop varios-update.service
