Deploy Smart ID
This article includes updates for Smart ID 23.04.
All the components in the Smart ID Workforce solution are deployed as Docker containers, except Smart ID Certificate Manager (CM) and Nexus OCSP Responder.
Smart ID deployment configuration release note
Prerequisites
Docker Compose V2
From Docker Compose V2 the compose features are integrated into the Docker platform. If you use Compose V2, use the command "docker compose" (instead of "docker-compose"), that is, remove the dash and replace it with a space. Smart ID will not be affected by Compose V2 and can be used as today.
Smart ID deployment recommendations
See Smart ID deployment recommendations.
Smart ID components requirements and interoperability
For more information on the full support of databases, operating systems, browsers, and more, see:
Docker prerequisites
Docker client and engine version 20.10.10 or later
Docker Compose version 1.25.5 or later and Docker Compose file version 3.7 or later
General prerequisites
Supported host operating systems:
Linux that supports the Docker and Docker Compose versions above
Windows on request
Valid licenses for all components to be used.
A database must be installed and in running mode. Supported databases are listed in Smart ID deployment recommendations.
Valid Support account at https://support.nexusgroup.com
For online deployment, as described below, your hosts need internet access.
If this is a offline deployment, the docker containers needs to be downloaded and transferred to the hosts.
DNS records must be created for each application to each Smart ID host:
DNS examples
# Identity Manager idm.smartid.example.com selfservice.smartid.example.com admin.smartid.example.com tenant.smartid.example.com # Digital Access access.smartid.example.com # Physical Access physicalaccess.smartid.example.com pa-maintenance.smartid.example.com pa-arx.smartid.example.com # Messaging Hermod mb.smartid.example.com
If you do not have the possibility to create DNS records, for example in a test environment, then you can add the wanted DNS records in your localhost file. Add them both on the Smart ID host and on the clients that you want to use to access Smart ID.
Install Docker and Docker compose
Installation of Docker and Docker compose varies depending on your operating system.
Install Docker
To install Docker, go to the official documentation (Install Docker Engine | Docker Documentation) and chose the system on which you plan to install it. Then follow the installation guide.
Install Docker compose
To install Docker compose, follow the installation guide (Install Docker Compose | Docker Documentation).
Rootless Docker
Docker engine is by default run as root. If you do not want to run containers with root, but with a specific user, read more here:
Rootless Docker is not supported by Smart ID Digital Access.
Deploy Smart ID
Configure services
Create Smart ID user account (Not required for Digital Access)
To avoid any permission issues, it is recommended that you create a dedicated Smart ID user account and run the Smart ID applications on the user's home directory.
On each host, create a user account for Smart ID and add that user to the docker group.
Create Smart ID User Ubuntu
sudo adduser --disabled-password --gecos "" --shell /bin/bash nexus sudo usermod -aG docker nexus
Create Smart ID User CentOS
sudo adduser -r -d /home/nexus --shell /bin/bash nexus sudo usermod -aG docker nexus
Switch to a Smart ID user:
Switch to Smart ID user
Download Smart ID files
Browse to support.nexusgroup.com/ and login with your account.
Click on Download Portal and click on Smart ID.
Click on SmartID-<version>-deployment<release-date>.tgz to download the deployment file to your computer. Where <version> represents the version you want to download.
Click on SmartID-<version>-configuration.zip to download the configuration file to your computer. Where <version> represents the version you want to download.
This file contains standard Smart ID configurations that can later be uploaded to Identity Manager.Transfer the SmartID-<version>-deployment<release-date>.tgz file to your Smart ID hosts and extract it in your Smart ID home folder <SMARTIDHOME>/:
Go to home folder of Smart ID user
The structure of sub folders in the Smart ID home directory, <SMARTIDHOME>/, is as follows:
Sub folder structure of Smart ID home
Edit environment variables
You must change at least these variables, see instructions below:
SMARTID_INGRESS_DOMAIN
DBHOST
TRAEFIK_ACME_EMAIL
Other variables are optional to change, but in a production environment you must change the credentials.
Set variables in the environment file to match your environment:
Open the environment file <SMARTIDHOME>/compose/smartid.env for editing.
Change timezone (TZ) to fit your environment.
Change
TRAEFIK_ACME_EMAIL
to fit your deployment. You must do this even if you do not use ACME.Example: Change TRAEFIK_ACME_EMAIL
Change the database host (
DBHOST
) for Identity Manager, Hermod, or Digital Access to fit your deployment. If it is a test deployment and database is running on the same host, the host IP-address or the docker-ip of the Postgres deployment must be used.localhost
or127.0.0.1
will not work.Example: Change timezone and database host
Change the version of Smart ID if needed:
Example: Change Smart ID Version
Change the value of