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
- Admin Console Access
- Go to
http://[KEYCLOAK_HOST]:8080 -
Username:
[KEYCLOAK_ADMIN_USERNAME], Password:[KEYCLOAK_ADMIN_PASSWORD] -
Create Realm
- Realm Name:
[REALM_NAME] -
Display Name:
SERENDER [SERVICE_NAME] Realm -
Create Client
- Client ID:
[CLIENT_ID] - Client Type:
OpenID Connect - Access Type:
confidential - Valid Redirect URIs:
https://[HOST]:*,http://[HOST]:* -
Web Origins:
* -
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)
- 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]