Get Started

Get Started #

Pre-requisites #

The Universal ID server requires a running PostgreSQL (16+) database.

Download & install PostgreSQL

Pull the latest universalid/scim image from Docker Hub:

docker pull universalid/scim:$tag

Docker Hub repository

Run locally with Docker #

Dev profile #

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.

The application has a built-in dev profile for testing. It starts the application with DEBUG logging enabled, listens to http port: 8080 and connects to a PostgreSQL database with 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

It will also load the SCIM 2.0 User and Group schemas along with one extension schema example.

  • urn:ietf:params:scim:schemas:core:2.0:User
  • urn:ietf:params:scim:schemas:core:2.0:Group

See SCIM Core Resources and Extensions

extension schema example:

  • urn:se:universalid:extension:Device

See Schemas

Once the application is running you can query via GET the /Schemas path to get a detailed description of the Schemas and their attributes.

Custom profile #

To run the application with your own customized profile, create a /config directory and within it a file named application.yaml. For a minimal production configuration the following components must be configured:

  • Datasource
  • Client Authentication
  • Resources
  • Schemas

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.