Skip to content
KylthDOCS

Upgrade

Move to a new release by changing one setting, and put the previous release back if you need to.

Check the current version

cat /opt/kylth/VERSION

KYLTH_TAG in /etc/kylth/.env shows the version you’ve asked for.

Before you upgrade

  • Back up the projects that matter, off the server. See Backups.
  • Make sure /opt/kylth is in your server backups.
  • Check the disk has room for the new image, about 1 GB.

Upgrade

  1. In /etc/kylth/.env, set KYLTH_TAG to the new version.
  2. Pull the new image and restart Kylth:
cd /etc/kylth
docker compose pull && docker compose up -d

What happens during an upgrade

  • Only Kylth restarts. Your projects keep running and stay reachable throughout. Caddy isn’t restarted.
  • Kylth copies its database first. On the first start of a different version, before it touches anything, Kylth copies its database to /opt/kylth-backups/kylth.db.pre-<version>-<time>, for example kylth.db.pre-0.1.1-20260911T165622Z.
  • Then it updates its database to the new version, and schedules its background jobs again.
  • Your licence, settings and projects carry over unchanged.

To confirm it worked, cat /opt/kylth/VERSION shows the new version and the dashboard loads.

If an upgrade goes wrong

First, read what Kylth says: docker logs kylth. Troubleshooting covers the common messages.

There’s no one-step rollback. To put the previous version back, restore the database copy Kylth made before the upgrade:

cd /etc/kylth
docker compose down
cp /opt/kylth/kylth.db /opt/kylth-backups/kylth.db.failed-upgrade
rm -f /opt/kylth/kylth.db-wal /opt/kylth/kylth.db-shm
cp /opt/kylth-backups/kylth.db.pre-<new version>-<time> /opt/kylth/kylth.db

Then set KYLTH_TAG in /etc/kylth/.env back to the previous version, and run docker compose up -d.

  • docker compose down stops only Kylth. Caddy and your projects keep running.
  • Kylth’s database goes back to its state before the upgrade, so anything you changed in Kylth since then is undone. Your projects’ own data isn’t in that database, so it’s unaffected.
  • Removing kylth.db-wal and kylth.db-shm stops leftovers from the newer database being applied to the restored one.

Pin a version

KYLTH_TAG decides which release runs. Setting it to an exact version, rather than latest, means Kylth changes only when you decide to upgrade.