Installing AdminUI & IdentityServer

Installing the full AdminUI Demo: AdminUI & Test IdentityServer

If you do not already have a working IdentityServer installation up and running, or just want to demo AdminUI, then this walkthrough is for you.

It uses the Docker compose file to install a Docker container that has images for AdminUI plus images for a test IdentityServer & database. It will get you up and running quickly with a full demo test environment.

Note, this environment will not persist data once the container stops running and is only suitable for basic testing.

This walk-through will assume you already have Docker installed on your machine. 

The latest Docker compose file can be downloaded here

Docker Compose

Now we want to use a Docker Compose file that will start up our Admin UI, API and Demo IdentityServer, all of which will need to configured to use the database we just started.

We can do this with a docker-compose.yml file, consisting of the following:

version: "3"
services:
  db:
    image: identityserverregistry.azurecr.io/idxdbmysql 
    ports: 
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=Welkom1234!
  ids:
    image: identityserverregistry.azurecr.io/ids
    ports:
      - "5003:5003"
    environment:
      - DbProvider=MySql
      - DbConnectionString=Server=db;Uid=docker;Pwd=Welkom1234!;Database=IdentityExpressDb;
  web:
    image: identityserverregistry.azurecr.io/idxui
    ports: 
      - "5000:5000"
    environment:
      - UiUrl=http://localhost:5000
      - ApiUrl=http://localhost:5001
      - AuthorityUrl=http://ids:5003
  client:
    image: identityserverregistry.azurecr.io/idsclient
    ports:
      - "5002:5002"
    environment:
      - AuthorityUrl=http://ids:5003
  api:
    image: identityserverregistry.azurecr.io/idxapi
    ports:
      - "5001:5001"
    depends_on: 
      - "db"
    links:
      - "db"
    entrypoint: /app/MySqlStart.sh db
    environment:
      - DbProvider=MySql
      - IdentityConnectionString=Server=db;Uid=docker;Pwd=Welkom1234!;Database=IdentityExpressDb;
      - IdentityServerConnectionString=Server=db;Uid=docker;Pwd=Welkom1234!;Database=IdentityExpressDb;
      - UiUrl=http://localhost:5000
      - ClientUrl=http://localhost:5002
      - AuthorityUrl=http://ids:5003
      - RequireHttpsMetadata=false
      - RunIdentityServerMigrations=true
      - LoggingProvider=Docker
      - LoggingMinimumLevel=Info
      - LoggingOutputTemplate=[{Timestamp:dd-MM-yyyy HH:mm:ss} {Level}] {Message}{NewLine}{Exception}
      - LicenseKey=SFRUUDovL0lEUzo1MDAzfDN8MTB8MDEvMDEvMjAyN3xsTElyS0VONnJ5dFlmZ25FaTNIdEtPMTVvRmFpcEFnV1ZLdVJYZ1NsVFd4NFZDSytVOVhGaWJkSjhPN0E3OXREZmRXLzFrZHdNam1uQWcra3pYNzhuMjh4bzhNNEo4R291ME93MENGRDhvQnlUZFd5Vi9XR3VGNnJGSTUrTnErL0h0RG10YnRhbVY5eXpQTE9mWTdPYmZxZWJQcVVQSFNrS3ppRU9MbUcrSjBsdUlIc1BGQzNndkF1M3pPcFNTSVFOUndCVllOdGdzaERSTTJMZFk1N3h0WXUvUFRISjYrSEsxVGVTV004UXlpMmRqWlFEMDcvRnJyZzJyQzg5VDI3Wk8yU3lGYVBYMnQycEhBQXRLNXRodzAzMzBrN04vL3MvSnlGUGJNWTFuTXEvcjZtc01XeTJhUU04SlhRZk1DS2ljaEYrMk5sVVMzZGpIOUkxS2U5RnhhY3JEUWQ0MUJ1a0x0VWxjN1BjYUc3ZkV0OVJ0bVFUUWZIaUtwNGJpSmlxbThkV1BqZDFzYlFHNzdWbnhYM1VBMk8wU3dRK29TKzRxdTNibUVMMGxqQzc5U2ZjSC9UWFo4OHo0WFlHTDROWjJ4SEFPbVJLV3p6NEFyOVl2cGFPY015eGhnZVBCbVNxWm85R0FKTU0xelovdGQ3SHluSUJ0bVpzaVVNem5TdmZGMjV3WUlQcWw4bGNjK211dXpyOVd1RC9xKzFwZjZvZXUxSUQ4NEsyVkwzZXU3dGx3Mms5eUxnZ0RJbVZvME9UMzM5bWdUOTFBYVNoaGNUZCt4eFNGekFCK3RMNFlZV2hVREsvTTkvWDhrRmZFMlE2M3haWkZiT2RXV2hRYnB1eGF3RnFsR1RHRWV5RGg1c2I3QnlMOWo5V3BJSGpTcU1jaDM0aCt6K21FYz0=
networks:
  default:
    external:
      name: netstack

Docker compose up

Now we can run our Docker Compose file. Change directory to the folder that the docker-compose.yml file is located in, and then run the following command:

docker-compose up

First Use

Admin UI

You should now be able to access the IdentityExpress Admin UI on http://localhost:5000 and authenticate using the bootstrap credentials of: Username: info@rocksolidknowledge.com and Password: Password123!

Sample Client Application

A sample client application is also available on http://localhost:5002. This app displays the claims of an authenticated user, and is useful for testing creating users and claim configurations.