🚀 Try it for free in the new Phase Two keycloak managed service. See the announcement and demo video for more information.
Phase Two Keycloak image
Contains the base Phase Two Keycloak image that is used in the self-serve clusters (both for shared and dedicated). This is based on the a Keycloak image which differs from the mainline only in that it supports CockroachDB for the legacy store type.
Extensions
This distribution contains the following extensions:
Component | Status | Repository | Description |
---|---|---|---|
Events | https://github.com/p2-inc/keycloak-events | All event listener implementations. | |
User Migration | https://github.com/p2-inc/keycloak-user-migration | User migration storage provider and API client. | |
Organizations | https://github.com/p2-inc/keycloak-orgs | Organizations multi-tenant entities, resources and APIs. | |
Magic Link | https://github.com/p2-inc/keycloak-magic-link | Magic Link Authentication. Created with an Authenticator or Resource. | |
Admin UI | https://github.com/p2-inc/keycloak-ui | Admin UI customizations. | |
Themes | https://github.com/p2-inc/keycloak-themes | Login and email theme customizations via Realm attributes without deploying an extension. |
Also, the distribution contains the keycloak-admin-client
and the dependencies required to run it in this version without Resteasy dependency hell.
Versioning
Format for version is <keycloak-version>-<build-timestamp>
e.g. 20.0.2.1671386163
Building
# build the libs project
cd libs/
mvn package
cd ..
# build the image
docker build -t quay.io/phasetwo/phasetwo-keycloak:$VERSION -f Dockerfile .
Distribution
docker push quay.io/phasetwo/phasetwo-keycloak:$VERSION
Testing
You can try it in ephemeral development mode with:
docker run --name phasetwo_test --rm -p 8080:8080 \
-e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin -e KC_HTTP_RELATIVE_PATH=/auth \
quay.io/phasetwo/phasetwo-keycloak:$VERSION \
start-dev --spi-email-template-provider=freemarker-plus-mustache --spi-email-template-freemarker-plus-mustache-enabled=true
There are examples for Postgres and Cockroach in the examples/
directory. E.g.:
docker rmi -f phasetwo/phasetwo-keycloak-crdb:latest
docker build -t phasetwo/phasetwo-keycloak-crdb:latest -f examples/cockroach/Dockerfile .
# If you need to inspect the image contents, use:
docker run -it --rm --entrypoint /bin/bash phasetwo/phasetwo-keycloak-crdb:latest
# Run it with a single-node crdb instance and caddy as a reverse proxy
docker-compose -f examples/cockroach/crdb-keycloak.yml up
Releases
https://quay.io/repository/phasetwo/phasetwo-keycloak?tab=tags