Skip to content

Updates

Self-Hosted

We recommend to create a backup of your installation before updating.

We deliver the shell script update.sh in the sysreptor directory.

If updates are available, the script downloads the release from GitHub. It replaces your Docker images by the newest release and restarts all containers.

Your current SysReptor directory will be renamed for backup purposes. The script will download the newer version and place it into the directory where the old version was.

It will then copy your app.env, .env, docker-compose.yml and if present the Caddyfile to the correct locations of your newer version. The new SysReptor version launched and the docker images of your old verions are cleaned up.

Run update script:
1
bash sysreptor/update.sh

Pro only

Using the --backup switch, a SysReptor backup will be created prior to the update. The update will fail if the backup fails.

Run update script:
1
bash sysreptor/update.sh --backup

Please make sure to monitor your disk space and clean up old backups, as automatic backups might increase disk usage significantly.

Download and extract the latest SysReptor release:

1
2
curl -s -L --output sysreptor.tar.gz https://github.com/syslifters/sysreptor/releases/latest/download/setup.tar.gz
tar xzf sysreptor.tar.gz

Copy the following files from your old installation to the new installation. * deploy/app.env * deploy/docker-compose.yml * deploy/caddy/Caddyfile (optional, if present)

Copy the contents of your deploy/.env file to the new installation. Make sure to keep the new version number intact and don't replace it by the old version number.

cd to sysreptor/deploy and launch the containers:

1
docker compose up -d

Find instructions how to downgrade to previous versions.

We recommend to deploy automatic updates and run the script once per day. This ensures you receive updates early.

If cron is not installed, install and start:

1
2
3
4
sudo apt update
sudo apt install -y cron
sudo systemctl start cron
#sudo /etc/init.d/cron start

Open crontab:

1
crontab -e

Schedule your update, e.g. every day at midnight:

1
0 0 * * * /bin/bash /home/yourpath/sysreptor/update.sh  # Optional (pro only): --backup

Make sure your user has write permissions to the parent directory of your SysReptor directory. In this example, you need write permissions to /home/yourpath/.