Nexus Documentation

Upgrade Smart ID

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

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: 

  1. Go to each application folder, for example: 

    cd /home/nexus/smartid/docker/compose/identitymanager
    
  2. 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:

  1. Read the release notes to see if there anything changed in the configurations files that will break.

  2. Open the environment file /home/nexus/smartid/docker/compose/smartid.env for editing. 

  3. Change to the new Smart ID version: 

    ### Smart ID Version

    SMARTID_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:

  1. Change directory:

    cd <SMARTIDHOME>/compose/identitymanager/updatedb
    
  2. Start the container:

    docker-compose up
    
  3. Wait until the container has run until completion.

Start applications

To start applications:

  1. Go to each application folder, for example: 

    cd /home/nexus/smartid/docker/compose/identitymanager
    
  2. Start the services by running this command:

    docker-compose up -d
    

Additional steps for a specific version

Delete previously deployed images

After a complete upgrade process, you can delete images that were previously deployed to free space.

  1. List all images:

    docker images
    
  2. Remove old images, add the image id for the image that shall be removed:

    docker image rm ID_IMAGE
    



Last updated: