Skip to main content
Für On-Premise-Installationen stellt VARIOS AI das Skript 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 Sie WorkingDirectory an das Verzeichnis an, in dem varios.sh liegt:
varios-update.service

Einrichtung

1

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/).
2

Service-Datei installieren und systemd neu laden

Ohne daemon-reload erkennt systemd die neue Service-Datei nicht — enable oder start schlagen dann fehl.
3

Service aktivieren und starten

4

Einrichtung prüfen

Der Status sollte active (running) anzeigen.
Logs live mitlesen: journalctl -u varios-update.service -f

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.
systemctl stop beendet die Update-Überwachung. Laufende docker compose-Befehle innerhalb eines Updates können dabei unterbrochen werden, weil systemd den Service-Prozess und seine Kindprozesse beendet (KillMode=control-group).

Logs und 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

  • Läuft Docker? systemctl status docker.service
  • Stimmt WorkingDirectory mit dem Installationsverzeichnis überein?
  • Wurde nach dem Kopieren der Service-Datei systemctl daemon-reload ausgeführt?
  • Details: journalctl -u varios-update.service -n 50 --no-pager
  • Enthält .env die aktuelle VERSION=?
  • Liegt in update_version eine abweichende Zielversion?
  • Protokoll prüfen: journalctl -u varios-update.service -f
  • Prüfen, ob zusätzlich ein manuell gestarteter Helfer läuft: pgrep -af varios.sh
  • Manuell gestarteten Helfer beenden: ./varios.sh --stop (nur wenn varios.pid existiert)
  • systemd-gesteuerten Helfer beenden: systemctl stop varios-update.service