Skip to content

Keycloak Setup and Configuration

Keycloak Container

docker run --name serender_keycloak `
  -e KEYCLOAK_ADMIN=[KEYCLOAK_ADMIN_USERNAME] `
  -e KEYCLOAK_ADMIN_PASSWORD=[KEYCLOAK_ADMIN_PASSWORD] `
  -e KC_DB=postgres `
  -e KC_DB_URL=jdbc:postgresql://[POSTGRES_HOST]:5432/[KEYCLOAK_DATABASE] `
  -e KC_DB_USERNAME=[POSTGRES_USERNAME] `
  -e KC_DB_PASSWORD=[POSTGRES_PASSWORD] `
  -p 8080:8080 `
  -d quay.io/keycloak/keycloak:latest `
  start-dev

Keycloak Configuration

  1. Admin Console Access
  2. Go to http://[KEYCLOAK_HOST]:8080
  3. Username: [KEYCLOAK_ADMIN_USERNAME], Password: [KEYCLOAK_ADMIN_PASSWORD]

  4. Create Realm

  5. Realm Name: [REALM_NAME]
  6. Display Name: SERENDER [SERVICE_NAME] Realm

  7. Create Client

  8. Client ID: [CLIENT_ID]
  9. Client Type: OpenID Connect
  10. Access Type: confidential
  11. Valid Redirect URIs: https://[HOST]:*, http://[HOST]:*
  12. Web Origins: *

  13. Create Organizations

Create separate organizations for each tenant:

Organization 1: - Name: tenant1-org - Display Name: Tenant 1 Organization - ID: Auto-generated (e.g.: a6f40803-3004-4b25-85e6-c8dae8e68f87)

Organization 2: - Name: tenant2-org - Display Name: Tenant 2 Organization - ID: Auto-generated (e.g.: b7f40803-3004-4b25-85e6-c8dae8e68f88)

  1. Create Users

Create users for each organization and assign them to organizations:

Tenant 1 User: - Username: [TENANT1_USERNAME] - Email: [TENANT1_EMAIL] - Password: [USER_PASSWORD] - Organization: [TENANT1_ORG_NAME]

Tenant 2 User: - Username: [TENANT2_USERNAME] - Email: [TENANT2_EMAIL] - Password: [USER_PASSWORD] - Organization: [TENANT2_ORG_NAME]