Updates and rollback
How LimePanel is updated, what happens during an update, and how to go back to the previous version.
The principle
The panel never updates itself. It checks the release channel periodically and tells you when a new version is out; you decide when to apply it.
Every release is signed. Before installing anything, the panel checks its signature and checksums against a public key it ships with: an unsigned or altered release is refused.
Updating from the console
Server → Updates → Update.
The page shows the installed version, the available one, the release notes and the history of operations. The panel restarts during the update: the page follows the progress and reloads the state when the panel is back.
Updating from the command line
As root:
panelctl update check # installed version and latest published
panelctl update apply # apply the update
panelctl update status # last operation, outcome and versions on disk
panelctl update rollback # go back to the previous version
What happens during an update
- Signature and checksum verification of the new release.
- The new release is unpacked next to the running one, which is left untouched.
- Backup of the panel database (the last five are kept in
/var/lib/limepanel/update/backup-db). - Database migrations, run with the new binary.
- Switch to the new release in a single atomic step.
- Restart, and a check that the panel really responds and can read its own database.
- If the check fails, the panel goes back to the previous version on its own.
Your customers' sites do not stop during an update: this was verified by requesting a site every second during an update, a rollback and an update to a deliberately broken release, with no failed request.
Going back to the previous version
Server → Updates → Roll back to the previous version, or:
panelctl update rollback
The previous release stays on disk precisely for this. Rolling back is quick because every release is compatible with the database schema of the next one: a release never removes from the schema something it has only just stopped using.
Channels
| Channel | For whom |
|---|---|
stable |
production (default) |
beta |
those who want new features before everyone else |
dev |
development, not recommended in production |
The channel is chosen at install time with --channel.
Updates and licensing
Updates, including security updates, are never blocked by the license, not even when the license has expired and the server's services are stopped.
Downloads from get.limepanel.it require the license key: the panel gets a short-lived download token by itself, so there is nothing for you to do. The license state never prevents an update from being downloaded.
When something goes wrong
panelctl update statusshows the last operation, the step it is at, or the error.- The full history is in
/var/lib/limepanel/update/storico.jsonl. panelctl doctorchecks configuration, database and services after the operation.- If an update fails but the panel returns to the previous version, the server stays operational: the message says so explicitly.