ZITADEL
ZITADEL is an open-source identity and user management platform, and a self-hosted alternative to Auth0 and Okta. It is API-first and multi-tenant by design: every customer or business unit is an "organization" with its own users, branding, and policies. State is stored as an event stream in PostgreSQL, which gives every login, grant, and config change a built-in audit trail.
Overview
Description
ZITADEL is an open-source identity infrastructure platform, and a self-hosted alternative to Auth0, Okta, and Firebase Auth. It combines the authentication protocols an application needs (OIDC, OAuth 2, SAML 2.0) with B2B features that are usually add-ons elsewhere: multi-tenancy through organizations, delegated administration, and per-tenant login branding. ZITADEL is event-sourced — its entire state lives as an append-only stream in PostgreSQL — so audit logs are a property of the system rather than a separate feature.
Features
- Standard protocols: OpenID Connect, OAuth 2, and SAML 2.0 for both inbound federation and outbound SSO.
- Multi-tenancy: First-class organizations with isolated users, roles, policies, and custom branding.
- Passwordless & MFA: Passkeys/WebAuthn, TOTP, OTP by email or SMS, and enforced factor policies.
- Actions: Run custom JavaScript on login and provisioning flows to shape tokens or call external systems.
- Delegated access: Grant users and whole organizations scoped roles for B2B and partner portals.
- Audit trail: Every change is an immutable event, queryable via the API and the admin Console.
Technology Stack
- Go backend exposing gRPC and REST APIs
- PostgreSQL as the single event-sourced datastore
- TypeScript / Angular Console and a Next.js hosted login UI
- Docker, Docker Compose, and a Helm chart for Kubernetes
Requirements
- Docker and Docker Compose (or Kubernetes with the Helm chart)
- PostgreSQL 14+
- A domain and TLS termination for production; SMTP for email delivery
Learning resources
How to Install Zitadel with Docker Compose (Step-by-Step)
A walkthrough of a working ZITADEL Docker Compose deployment — wiring up PostgreSQL, health checks, and service dependencies, the master key, and TLS for local development.
By · Invalid Date
ArticleSet up ZITADEL with Docker Compose
The official self-hosting guide: pull the Compose file and example environment, set a master key, start ZITADEL alongside its PostgreSQL database, and sign in to the Console with the generated admin account.
By ZITADEL · Invalid Date