Kiln docs
v1.1.0
Get help
● Ship · New versions

Updating
install a new version and keep your data.

Your data and settings live in the data/ folder and in .env. An update replaces the program files and keeps both. Read the new version's CHANGELOG.md first.

Back up firstnpm cinpm run build

01With Node.js (npm start, systemd or PM2)

  1. Back up. Stop Kiln and copy the data folder and .env:
    sudo systemctl stop kiln            # or: pm2 stop kiln
    tar czf kiln-backup-$(date +%F).tar.gz data .env
  2. Replace the files. Unpack the new version over the old folder, or into a new folder. Keep your .env and your data/ folder; do not overwrite them. If you changed Kiln's code yourself, merge your changes into the new files (a Git repository of your customised copy makes this easy).
  3. Install and build:
    npm ci
    npm run build
  4. Start again:
    sudo systemctl start kiln           # or: pm2 restart kiln
  5. Check. Open /healthz: it shows the new version number. Open the console's status screen and look at the checks. Sign in to the builder and open a site.
Windows

The commands on this page are for a Linux or macOS terminal. On Windows, use WSL (Windows Subsystem for Linux) with Ubuntu, install Node.js inside it and type the commands there. Native Windows (without WSL) is not supported.

02With Docker

docker build -t kiln .
docker stop kiln && docker rm kiln
docker run -d --name kiln --restart unless-stopped \
  -p 8787:8787 -v kiln-data:/app/data --env-file .env kiln

The kiln-data volume keeps your data. Back it up first, for example:

docker run --rm -v kiln-data:/data -v "$PWD":/backup busybox tar czf /backup/kiln-data.tar.gz -C /data .

03The database

Kiln creates its tables automatically when it starts; there is no separate migration command. Version 1.1.0 contains no migration code for older databases, because there is no older version. If a later release needs to change existing tables, its changelog says what it does and whether anything is required from you.

04Rolling back

Stop Kiln, put the old program files back, restore the data/ folder from the backup you made in step 1, run npm ci and npm run build, and start again. Restoring the backup is important: a newer version may have changed the database.

05Node.js updates

After upgrading Node.js itself, run npm ci (or npm rebuild better-sqlite3) so the database module is rebuilt for the new Node version. Kiln needs Node.js 22.12 or newer.