Get Started

Get Started #

With Docker #

Pull the universalid/scim image from Docker Hub:

docker pull universalid/scim:1.0.1

Docker Hub repository

Pre-requisites #

The Universal ID Server requires a PostgreSQL database connection and a configuration profile.

Download & install PostgreSQL

The application is shipped with a built-in a Development profile that can be enabled with the dev flag so that it can be started with zero-config for testing.

By default, the application will try to a PostgreSQL database with the default settings:

Parameter
Default Value
host localhost
port 5432
database postgres
user postgres
password postgres

To change the parameters check out the Datasource configuration options

Run #

Run the Universal ID Server application:

docker run -t --net=host universalid/scim:1.0.1 dev
  • -t attaches a pseudo-TTY to the container, connecting your terminal to the I/O streams of the container.
  • --net=host uses host network. Alternatively, you can pass each port mapping individually. e.g. -p 8080:8080
  • dev loads the development profile.

Application will start listening on: http://localhost:8080/Users

Dev profile #

The application has a built-in dev profile for development and testing. It starts the application with DEBUG logging enabled, listens to http port: 8080 and connects to a PostgreSQL database at the default port 5432 with default settings. It will also load the SCIM core User schema urn:ietf:params:scim:schemas:core:2.0:User along with two example extensions urn:se:universalid:extension:Device and urn:se:universalid:extension:Computer.

More info about:

Custom profile #

To run the application with a customized profile, you will need to create two directories /config, /crypto and mount them to the application container.

  • /config directory contains the application.yaml with the application configuration.
  • /crypto directory the Server Keystore and Truststore used for HTTPS and mTLS.

Example command how to start a profile named custom and mount the directories above:

docker run -t --net=host \
  --mount type=bind,src=/path/to/universalid/config,dst=/deployments/config \
  --mount type=bind,src=/path/to/universalid/crypto,dst=/deployments/crypto $IMAGE_NAME custom

Deploy in a Cloud Provider #

Universal ID Server can be deployed on-premise or in any Cloud environment.

Deploy on Kubernetes with a Helm chart for a simplified operation and management of your Universal ID cluster.

For help, tips & tricks for deploying to AWS, Azure, Google Cloud Platform or your Cloud provider of choice contact us and we’ll help you get started.