-
Notifications
You must be signed in to change notification settings - Fork 4
How to Upgrade
CortenDesk keeps all of its state in the database (and, for the Docker image, in a data volume), so upgrading is just replacing the application code and running migrations. Your devices, users, address books, logs, and settings are untouched.
Always check the release notes for the version you're moving to first.
Your data lives in Docker volumes, not in the container, so replacing the container is safe. Database migrations run automatically when the new container starts.
docker compose pull
docker compose up -dPull the new image and recreate the container with the same options and volumes you started it with:
docker pull marcpope/cortendesk:0.8.0-beta.1 # or a newer tag / :latest
docker stop cortendesk && docker rm cortendesk
docker run -d --name cortendesk -p 8080:8080 -v cortendesk-data:/data \
-e CORTENDESK_ID_SERVER=hbbs.example.com:21116 \
# ...the rest of your original -e flags...
marcpope/cortendesk:0.8.0-beta.1The /data volume keeps your SQLite database and app key; a separate database
volume keeps MySQL. Nothing in those volumes is removed by pulling a new image.
Only
docker compose down -vordocker volume rmdeletes your data. A plain pull, stop, rm, and re-run never will.
From your CortenDesk directory:
git pull # or download the new release and replace the files
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache route:cache view:cacheIf you run php-fpm with OPcache and validate_timestamps=0, reload it so the
new code is picked up:
sudo systemctl reload php8.4-fpmThat's it — reload the console in your browser (a hard refresh picks up new assets, which are cache-busted automatically).
-
The web client (
public/rdclient/) ships prebuilt in each release, so it updates along with everything else. No separate build step. - Behind a reverse proxy? Nothing changes on upgrade. See the README's reverse-proxy section if you're setting one up.
-
Rollback: re-deploy the previous version (pull the older image tag, or
git checkoutthe previous release) and run migrations again. If a release ever ships a breaking migration it will be called out in its release notes; take a database backup before upgrading if you want a guaranteed rollback.