Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

comparison

Keycloak vs Authentik (2026): Which SSO Server Should You Self-Host?

Keycloak is the enterprise standard, Authentik the homelab favourite. SAML, OIDC, forward auth, RAM footprint, and VPS picks compared honestly.

Last verified:

Once you self-host more than three apps, logging into each one separately stops being charming. Single sign-on fixes that, and in 2026 the self-hosted shortlist is two names: Keycloak, the Red Hat-backed veteran that enterprises standardize on, and Authentik, the Python-based challenger that most homelab SSO guides now assume.

Both speak OIDC and SAML fluently. The differences are in operating model, learning curve, and one feature that matters enormously for self-hosters: what to do with apps that have no real login support at all.

TL;DR: Which One Should You Pick?

Pick Authentik if you are protecting a self-hosted stack: built-in forward auth for apps without OIDC, visual flows, and a setup you can finish in an evening.

Pick Keycloak if you operate identity for an organization: battle-tested at massive scale, first-class realm multi-tenancy, fine-grained authorization services, and the ecosystem every enterprise integration documents first.

Keycloak vs Authentik at a Glance

KeycloakAuthentik
Backed byRed Hat / CNCFAuthentik Security (open core)
StackJava (Quarkus)Python + Go, Postgres + Redis
ProtocolsOIDC, OAuth2, SAML, LDAP federationOIDC, OAuth2, SAML, LDAP, SCIM, RADIUS
Forward auth / proxyVia external oauth2-proxyBuilt in
Admin UXPowerful, steepModern, guided flows
Multi-tenancyRealms, excellentLighter (tenants/brands)
Typical RAM0.7-1.5 GB1-1.5 GB (all containers)
Scale ceilingVery highHigh

Where Keycloak Wins

Depth and credibility. Realms give true tenant isolation, the authorization services do fine-grained permission modeling few tools attempt, and identity brokering federates every upstream IdP you will meet in the wild. It is the reference implementation enterprises test against; if a commercial app documents SSO, it documents Keycloak. Operationally it is a single JVM service plus a database, which some admins prefer over a multi-container stack.

The price is cognitive: clients, mappers, scopes, and flows form a model you must genuinely learn before it feels predictable.

Where Authentik Wins

Fit for the self-hosted world. The embedded proxy provider is the difference-maker: forward auth via Traefik or Nginx puts SSO plus MFA in front of apps that have no login of their own, no extra components required. Enrollment and recovery flows are built visually, the UI explains itself, and blueprints make the whole config reproducible as YAML - which pairs beautifully with a GitOps homelab.

It is younger and its open-core edges (enterprise support tiers) draw occasional grumbling, but the core has stayed genuinely capable for free users.

VPS Requirements Compared

SpecKeycloakAuthentik
Minimum RAM2 GB2 GB
Recommended RAM4 GB4 GB
Storage10-20 GB10-20 GB
CPU2 vCPU2 vCPU
DatabasePostgresPostgres (+ Redis)

An identity provider is the one service whose downtime locks you out of everything else, so reliability outranks price here. Hetzner from 5.49 EUR per month is our pick: dependable uptime, snapshots before upgrades, and NVMe that keeps Postgres snappy. Contabo from 5.99 EUR provides the RAM headroom cheaply if the same box also runs your reverse proxy and a few protected apps. US stacks do well on DigitalOcean from 6 USD. Detailed sizing lives in the best VPS for Keycloak and best VPS for Authentik guides; the full ranking is in our VPS comparison.

Verdict

For a self-hosted application stack, Authentik is the pragmatic winner: it solves the actual homelab problem - one login in front of everything, including dumb apps - with the least assembly. Keycloak remains the right call when the requirements sound like a job description: multi-tenant realms, complex federation, authorization policies, or an auditor asking what the enterprises use.

Either way, run it behind HTTPS from day one, enable MFA for the admin account before creating anything else, and snapshot before every upgrade. SSO concentrates your risk as much as it concentrates your convenience.

Frequently asked questions

Which is easier to set up for a homelab, Keycloak or Authentik?

Authentik, clearly. Its docker-compose setup, guided flows, and application wizards get a working SSO with forward auth for your first app in an evening. Keycloak's realm, client, and mapper model is more powerful but assumes identity-management vocabulary, and protecting apps that lack native OIDC support requires an extra proxy component that Authentik simply ships built in.

Can Authentik protect apps that have no login system at all?

Yes - that is its killer feature for self-hosters. Authentik's embedded proxy provider does forward auth with Traefik or Nginx, placing a login wall in front of any web app before requests reach it. Sonarr, Uptime Kuma, or a bare dashboard get SSO without supporting any protocol themselves. With Keycloak you assemble the same pattern from a separate component like oauth2-proxy.

How much RAM do Keycloak and Authentik need on a VPS?

Keycloak on Quarkus typically settles between 700 MB and 1.5 GB heap for small deployments. Authentik's server, worker, Postgres, and Redis together land in a similar 1 to 1.5 GB envelope. Practically, both want a 2 GB plan minimum and are comfortable at 4 GB. Neither belongs on the absolute smallest VPS tier if login reliability matters, and it does.