varios.sh script. It runs in the background, watches the update_version file, and automatically performs an update when a new target version is set (pull Docker images, restart containers, run migration scripts).
To ensure the update helper starts reliably after a server reboot, you can register it as a systemd service.
Docker must be installed and startable.
After=docker.service defines startup order; Wants=docker.service starts Docker when this service starts — even if Docker is not enabled for boot. We also recommend systemctl enable docker.service for server reboots. The service runs varios.sh --daemon directly — output goes to journald, not varios.log.Service file
SetWorkingDirectory to the directory containing varios.sh:
varios-update.service
Setup
Adjust WorkingDirectory
Set
WorkingDirectory in varios-update.service to the absolute path of the VARIOS installation directory containing varios.sh, docker-compose.yml, and .env (e.g. /docker/varios/).Operations
Control the helper only via systemd — not via./varios.sh --stop. The systemd service runs varios.sh --daemon directly in the foreground and does not create varios.pid. ./varios.sh --stop only works if the helper was previously started manually without systemd.
Logs and troubleshooting
| Source | Command | Content |
|---|---|---|
| systemd (primary) | journalctl -u varios-update.service -f | Update checks, update flow, errors |
| systemd (recent entries) | journalctl -u varios-update.service -n 50 --no-pager | Recent history for troubleshooting |
varios.log and varios.pid are only created when you start ./varios.sh without systemd — not when operating via this service.
Common checks
Service does not start
Service does not start
- Is Docker running?
systemctl status docker.service - Does
WorkingDirectorypoint to the installation directory? - Was
systemctl daemon-reloadrun after copying the service file? - Details:
journalctl -u varios-update.service -n 50 --no-pager
Service is running but no update occurs
Service is running but no update occurs
- Does
.envcontain the currentVERSION=? - Does
update_versioncontain a different target version? - Check the log:
journalctl -u varios-update.service -f
Helper is running twice
Helper is running twice
- Check for an additionally started manual helper:
pgrep -af varios.sh - Stop manually started helper:
./varios.sh --stop(only ifvarios.pidexists) - Stop systemd-managed helper:
systemctl stop varios-update.service
