Skip to main content
Operations

Production-ready Keycloak images, with our extensions baked in.

Pre-built container images for Kubernetes, Helm, Docker Compose, ECS, and more — Keycloak plus the Phase Two extension suite plus the operational defaults you'd otherwise wire up yourself.

GHCRHelm ChartK8s · ECS · ComposePinned Upstream KeycloakHealth + Metrics
Containers · architecture
The problem

Running Keycloak in production is a lot more than 'docker run keycloak'.

Pain 1

Defaults are dev-mode

Stock Keycloak's defaults assume dev. Production needs JVM tuning, health checks, metrics, TLS, and clustering — none of it on by default.

Pain 2

Extensions live in your build

Want orgs + webhooks + magic link? You build them into a custom image. We've already done that build.

Pain 3

Helm charts are bring-your-own

There's no single official Helm chart that bundles Keycloak with the extensions teams actually want.

Our approach

An image that's ready for prod the moment you pull it

01

Phase Two extensions baked in

Orgs, webhooks, magic link, IdP wizard, admin portal, themes — all installed and configured.

02

Opinionated production defaults

JVM flags, health endpoints, metrics scrape, TLS-ready, clustering hints.

03

Pinned upstream Keycloak

Locked to a known-good Keycloak version. You can override.

04

Helm + K8s + Compose + ECS

Same image, runs anywhere. Helm chart covers the common K8s setup.

What teams use it for

Where the images fit

Anywhere you'd otherwise be assembling your own Keycloak Dockerfile.

01
Kubernetes via Helm
Drop-in Helm chart with sensible defaults.
02
ECS / Fargate
Production image, no DIY build pipeline.
03
Docker Compose dev
Local dev that matches prod.
04
Bare-metal / VM
Same image, run it however you run things.
Key capabilities

What you get when you pull the image

Extensions installed

Orgs · IdP Wizard · Magic Link · Webhooks · Themes · Admin Portal.

Health + metrics

/health/live, /health/ready, /metrics for Prometheus scraping.

JVM tuned for containers

GC, memory, file descriptors — sized for the container, not the host.

Pinned Keycloak

Locked to a tested upstream version. Override with a build arg.

Helm chart

K8s with sane defaults — replicas, PDBs, ingress, secrets.

TLS-ready

Mount certs, terminate at the pod. Or terminate upstream.

Get started

Three ways to ship Containers

Self-host

Run it yourself

Pull the JAR or pre-built container into your Keycloak deployment.

Docs

Read the guides

Install steps, configuration, API reference, and migration notes.

Hosted

Let us run it

Try the hosted Phase Two — all extensions installed and configured.

Ready to Try Keycloak?
Create Your Free Deployment Today.