This article includes updates for Smart ID 26.07.3.
Nexus Certificate Manager and OCSP Responder are not included in this article.
This article describes how to upgrade Smart ID to a new version.
You can always update directly to the latest version, no intermediate steps are necessary if you are coming from an older version. But you always have to go through all manual update steps (if there are some) between the current version and the target version. See section "Additional steps for a specific version" below.
Prerequisites
-
Smart ID is deployed on Docker. See Deploy Smart ID.
Upgrade from Smart ID on Docker
Prepare upgrade
Before upgrade, do these steps:
-
Check the release notes for additional upgrade steps.
-
Take a backup of Smart ID databases that are used: Identity Manager, Physical Access, Digital Access, Hermod.
-
Take a backup of Smart ID configuration files:
cd /home/nexus/smartid/ cp -rf smartid smartid.backup
Stop applications
To stop applications:
-
Go to each application folder, for example:
cd /home/nexus/smartid/docker/compose/identitymanager -
Stop the services by running this command:
docker-compose stop
Merge file changes
It is recommended to do a backup before proceeding.
Use a merge-tool like Meld or BeyondCompare to merge added files and changes to existing files from an extracted compose folder of SmartID-aa.bb.c-deploymentXXXXXX.tgz into the current deployment.
Update Smart ID version in environment file
To update the Smart ID version in the environment file:
-
Read the release notes to see if there anything changed in the configurations files that will break.
-
Open the environment file /home/nexus/smartid/docker/compose/smartid.env for editing.
-
Change to the new Smart ID version:
### Smart ID VersionSMARTID_VERSION=aa.bb.c
Configure Docker users
To set up the default user and group id based on how the Docker daemon is configured (root or rootless), run the following script (without sudo) at least once.
It makes changes to smartid.env that other scripts depend on, and also sets up Traefik’s docker.sock volume-mount correctly:
./set-docker-identity.sh
This script will be automatically called by ./init-smartid.sh on fresh installations.
Depending on which version you are upgrading from, you also need to then call ./fix-volume-permissions.sh (as root or a user with sudo-permissions) to ensure files used by volume mounts have correct permissions. See version-specific instructions in the child pages.
Configure volume mounts
IDM containers require certain volume mounts, which are set up by calling ./configure-volumes.sh (without sudo):
-
P12 keystores
-
JAR file overrides
-
class file overrides
-
bean-xml config overrides
You need to run this script every time you add/remove/change any of the above for an IDM container.
It will update the respective docker-compose.yml files and custom-beans.xml.
This script will be automatically called by ./init-smartid.sh on fresh installations.
Update database
To update the database:
-
Change directory:
cd <SMARTIDHOME>/compose/identitymanager/updatedb -
Start the container:
docker-compose up -
Wait until the container has run until completion.
Start applications
To start applications:
-
Go to each application folder, for example:
cd /home/nexus/smartid/docker/compose/identitymanager -
Start the services by running this command:
docker-compose up -d
Additional steps for a specific version
-
Upgrade Smart ID Identity Manager from 20.11 to 21.04 -
Upgrade Smart ID Identity Manager from 20.11.6 to 20.11.7 -
Upgrade Smart ID Identity Manager from 21.04 to 21.04.1 -
Upgrade Smart ID Identity Manager from 21.04.3 to 21.10 -
Upgrade Smart ID Identity Manager from 21.10 to 22.04 -
Upgrade Smart ID Identity Manager from 21.10.3 to 21.10.4 -
Upgrade Smart ID Identity Manager from 22.04 to 22.10 -
Upgrade Smart ID Identity Manager from 22.04.4 to 22.04.5 and 22.10 to 22.10.2 -
Upgrade Smart ID Identity Manager from 22.10.x to 23.04 -
Upgrade Smart ID Identity Manager from 23.04.x to 23.10.2 -
Upgrade Smart ID Identity Manager from 23.04.1 to 23.04.2 -
Upgrade Smart ID Identity Manager from 23.04.9 to 23.04.10 -
Upgrade Smart ID Identity Manager from 23.04.10 to 23.04.11 -
Upgrade Smart ID Identity Manager from 23.04.12 to 23.04.13 -
Upgrade Smart ID Identity Manager from 23.04.16 to 23.04.18 -
Upgrade Smart ID Identity Manager from 23.04.18 to 23.04.19 -
Upgrade Smart ID Identity Manager from 23.04.29 to 23.04.30 -
Upgrade Smart ID Identity Manager from 23.04.36 to 23.04.38 -
Upgrade Smart ID Identity Manager from 23.04.38 to 23.04.39 -
Upgrade Smart ID Identity Manager from 23.10.2 to 23.10.3 -
Upgrade Smart ID Identity Manager from 23.10.3 to 23.10.5 -
Upgrade Smart ID Identity Manager from 23.10.5 to 23.10.6 -
Upgrade Smart ID Identity Manager from 23.10.9 to 23.10.10 -
Upgrade Smart ID Identity Manager from 23.10.9 to 5.0.1 -
Upgrade Smart ID Identity Manager from 23.10.18 to 23.10.19 -
Upgrade Smart ID Identity Manager from 23.10.21 to 23.10.22 -
Upgrade Smart ID Identity Manager from 23.10.22 to 23.10.23 -
Upgrade Smart ID Identity Manager from 23.10.25 to 23.10.26 -
Upgrade Smart ID Identity Manager from 23.10.19 to 5.1.0 -
Upgrade Smart ID Identity Manager from 5.1.0 to 5.1.1 -
Upgrade Smart ID Identity Manager from 5.1.1 to 5.1.2 -
Upgrade Smart ID Identity Manager from 5.1.0 to 5.2.0 -
Upgrade Smart ID Identity Manager from 5.2.0 to 5.2.1 -
Upgrade Smart ID Identity Manager from 5.2.0 to 5.3.0 -
Upgrade Smart ID Identity Manager from 5.3.1 to 5.3.2 -
Upgrade Smart ID Identity Manager from 5.3.1 to 6.0.0 -
Upgrade Smart ID Identity Manager from 6.0.0 to 6.0.1 -
Upgrade Smart ID Identity Manager from 6.0.0 to 6.1.0 -
Upgrade Smart ID Identity Manager from 6.1.0 to 6.1.1
Delete previously deployed images
After a complete upgrade process, you can delete images that were previously deployed to free space.
-
List all images:
docker images -
Remove old images, add the image id for the image that shall be removed:
docker image rm ID_IMAGE