Skip to content

Updating from the admin portal ​

New versions of Eurion are installed with one click in the admin portal under System Updates. No SSH sign-in is needed. The installer takes a backup first, runs the database migrations, switches version and checks that everything works. If anything fails, the server automatically goes back to the previous version.

How it works ​

  • A service on the server, eurion-updater, looks for new versions in the update channel once a day.
  • Every version is a signed bundle. The server only installs bundles signed with a key it already trusts (the key in the installed version, never a key inside the bundle itself). The channel's version list must be signed too.
  • Bundles with an older version than the installed one, and delta bundles made for a different version, are refused.
  • Every action is recorded in the audit log.

Channels ​

updates.channel_urlMeaning
https://updates.eurion.se/stable/ (default)Eurion's stable versions.
"" (empty)Offline server: no contact with the update channel. Updates are uploaded as a file, see below.

The setting is made in the configuration file (the updates section).

Who can do what ​

AdministratorSuper administrator
See the installed version and whether an update is availableyesyes
Check now, view the log, cancel a scheduled updateyes
Install now, Install tonight at 02:00, upload a fileyes, after password confirmation

Password confirmation ​

Before an update is installed, scheduled or uploaded, the portal asks for your password again (Confirm your password). The confirmation lasts 5 minutes.

Accounts with SSO

The confirmation requires a local password. An account that signs in with Microsoft Entra ID is told that password confirmation is not available. Use a local super administrator account for updates.

Installing an update ​

  1. Sign in at https://admin.example.se as a super administrator and open System Updates. If a new version is available, the menu item is marked.
  2. Under Update available you see the version, size and release notes.
  3. Choose Install now, or Install tonight at 02:00.
  4. Confirm with your password.

Progress is shown on the page: download, signature check and installation in six steps:

StepWhat happensIf it fails
CheckChecksums, that the version is newer, that a delta bundle matches, that there is enough disk spaceNothing has changed.
1/6 BackupBackup of all databases and RedisNothing has changed.
2/6 Loading imagesThe new images are loadedNothing has changed.
3/6 Installing the deployment kitThe new kit is put in place; configuration and passwords are carried overAutomatic rollback
4/6 Regenerating configurationSettings are rewritten for the new version; new passwords are added if neededAutomatic rollback
5/6 Migrating databases and switchingMigrations run while the old version still answers, then changed containers are switchedAutomatic rollback
6/6 VerifyingAll containers healthy, the app and the API answer, no restarts for 60 secondsAutomatic rollback

While the services restart, the page briefly loses contact and shows The services are restarting for the update. It reconnects by itself, usually within a minute. Users notice an interruption of about one minute.

When it is done the page shows Updated to …. Log has the installation log.

Scheduling

Install tonight at 02:00 means 02:00 in your browser's time zone. You can cancel with Cancel until then. Scheduling is only available for versions from the channel, not for uploaded files.

Automatic rollback ​

If steps 3–6 fail, the installer does this:

  1. The previous kit is put back (the failed one is kept in /opt/eurion/deploy.failed).
  2. The database is restored from the backup in step 1, but only if a migration had changed it. Otherwise the database is kept as it is, so no messages are lost.
  3. The previous version is started again (its images are still on the server).
  4. Containers that only exist in the new version are removed.
  5. The same health check runs.

The page then shows Update to … failed, rolled back to … and the reason. Send the log to support.

Going back after a successful update ​

If you find a fault after the update, you can go back to the previous version. This is done on the server:

bash
sudo eurion-ctl rollback-update

Type YES to confirm. The database is kept as it is.

If the new version's migrations mean the old version does not work with the database, you can also restore the backup taken before the update:

bash
sudo eurion-ctl rollback-update --restore-db

--restore-db loses data

Everything written since the update (messages, files in the database, changes) is lost. Only use it if support asks you to, or if the old version does not start without it.

Only the latest update can be undone this way.

Freeing disk space after a successful update ​

The previous version's images stay on disk so that you can go back. When you are sure about the new version:

bash
sudo eurion-ctl prune-images 1.6.1   # the OLD version

The command refuses if any container still uses that version.

Offline server ​

With updates.channel_url: "" the server never contacts the update channel. Do this instead:

  1. Get the update file (eurion-update-<version>.tar) from Eurion and transfer it to a computer that can reach the admin portal.
  2. Open System Updates → Upload an update file → Choose file (up to 4 GB).
  3. Confirm with your password. The file's signature is checked before the update is offered.
  4. Choose Install now.

You can also install the file directly on the server, see Manual update.

New third-party services

An update that adds a new third-party service (for example a new database or tool) downloads that image from Docker Hub or ghcr.io. A server with no internet access at all then needs the image loaded beforehand (docker load); contact support.

Delta bundles ​

The channel may offer a smaller delta bundle that only contains what changed since your version. The server picks it automatically if it matches your version exactly, otherwise the full bundle. A delta bundle for a different version is refused.

Requirements ​

  • Free disk space for Docker of at least four times the size of the images file.
  • eurion-updater running: systemctl status eurion-updater.
  • Outbound HTTPS to updates.eurion.se (when the channel is used).

If updating from the portal does not work, see Manual update and Troubleshooting.

Eurion — communication that runs on your own server.