Updating Kuayle
The repository update script fetches the current branch, rebuilds the application images, recreates Caddy and the app services, then applies pending migrations. Back up and review changes before running it.
Manual update via script
Run the script from a clean repository checkout. It uses `git pull --ff-only`, serves a maintenance page, rebuilds the backend and frontend, recreates the application containers and runs migrations.
- cd kuayle
- bash selfhosting/update.sh
- The script: pulls latest code → rebuilds images → recreates containers → runs migrations
One-click update from the UI
Authorized sysadmins can invoke the same script from Settings → Version after the updater sidecar and token are configured. This grants the sidecar access to the Docker socket and repository checkout.
- Add your user ID to SYSADMINS in selfhosting/.env
- Set SYSTEM_UPDATER_TOKEN to a strong random string
- Start the updater sidecar with the updater profile
- Use the Update button in Settings → Version
What happens during an update
The script leaves the PostgreSQL and Redis services running while it recreates Caddy, the backend and the frontend. Application requests receive a maintenance page during the refresh.
- Maintenance page served during update
- Backend and frontend images rebuilt
- Pending migrations applied after container recreation
- PostgreSQL and Redis are not recreated by the script
Review Kuayle before you deploy it
Inspect the Apache 2.0 source, then follow the Docker Compose guide to run an instance on your infrastructure.