ZITADEL

Deploy ZITADEL on a VPS in One Click

Authentication & security

Open-source identity platform for SSO, MFA, and multi-tenant login across your applications.

  • Ready in ~5 min
  • Free installation
  • We handle the setup
At a glance
Version
Latest (4.x)
Operating system
Ubuntu Server 24.04 LTS
Minimum RAM
2 GB
License
AGPL-3.0
Addressing
IPv4, IPv6
GitHub
15,000
Deployment~5 min
Open source & self-hosted
VPS plans

Choose a VPS plan for ZITADEL

Blazing-fast NVMe drives and powerful processors. Take a ready-made plan or build the configuration yourself.
Minex
Perfect for personal projects and small websites.
€3.20/mo
Save €0.80 per month

  • 1 vCPU core
  • 1 GB DDR5 RAM
  • 20 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • 1 TB traffic
Basex
A great balance of power and affordable price.
€4.80/mo
Save €1.20 per month

  • 2 vCPU cores
  • 2 GB DDR5 RAM
  • 40 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • 2 TB traffic
Most popular
Corex
For growing applications and businesses.
€7.20/mo
Save €1.80 per month

  • 4 vCPU cores
  • 4 GB DDR5 RAM
  • 50 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Midex
Resources for high-load projects.
€9.60/mo
Save €2.40 per month

  • 4 vCPU cores
  • 6 GB DDR5 RAM
  • 60 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Proex
Maximum power and scalability.
€12.00/mo
Save €3.00 per month

  • 6 vCPU cores
  • 8 GB DDR5 RAM
  • 70 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Scalex
Resources for scaling.
€16.00/mo
Save €4.00 per month

  • 6 vCPU cores
  • 10 GB DDR5 RAM
  • 150 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Maxex
A large reserve of power.
€44.00/mo
Save €11.00 per month

  • 8 vCPU cores
  • 16 GB DDR5 RAM
  • 200 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Apex
The top configuration.
€79.99/mo
Save €20.00 per month

  • 16 vCPU cores
  • 32 GB DDR5 RAM
  • 400 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic

What you can do with ZITADEL

ZITADEL is an open-source identity and access management platform built for teams that need authentication, authorization, and multi-tenant user management without wiring it from scratch. It targets engineering teams building B2B SaaS products, internal tools with SSO requirements, or anyone replacing Auth0, Okta, or Keycloak with owned infrastructure.

What sets it apart is a native Organizations model — multi-tenancy isn't bolted on, it's the core data structure — paired with an event-sourced audit trail that logs every identity change immutably. Running Zitadel self hosted removes the daily-active-user billing that caps the managed Zitadel Cloud tiers, so a Zitadel vps hosting setup makes sense once your user base outgrows a free or Pro cloud plan, or when data residency rules require keeping credentials on infrastructure you control.

The applications screen of the control panel with one-click install

ZITADEL features

A server surrounded by app icons — applications running on a VPS

ZITADEL ships as a single identity backend covering login, authorization, and provisioning for every connected app. Core capabilities on a Zitadel vps docker deployment:

01

Organizations & multi-tenancy

Isolate users, roles, and branding per customer or team inside one instance.

02

Passwordless & MFA

Passkeys, FIDO2/WebAuthn, TOTP, and classic email/password combined.

03

OIDC, OAuth2, SAML2, SCIM

Standard protocols for connecting apps, external SSO, and automated user provisioning.

04

External IdP federation

Sign users in through Google, GitHub, Apple, Azure AD, or any OIDC/SAML provider.

05

Actions

Run custom code on login, token issuance, or registration events without forking the core.

06

Delegated administration

Org-level admins manage their own users without touching the whole instance.

07

Branded Login UI

Per-organization login pages, not one shared screen for every tenant.

Requirements

Which server to run it on

Minimum requirements for ZITADEL and the configuration worth starting with.
Minimum
  • CPU1 vCPU
  • Minimum RAM2 GB
  • Disk20 GB
Recommended
VPS Basex
  • CPU2 vCPU
  • Minimum RAM2 GB
  • Disk40 GB

Installation is free — you only pay for the server

Getting started

How to deploy ZITADEL

Three steps and the app is running on your server.
Step 1
Choose a server

Choose a server. Zitadel runs PostgreSQL alongside the Go core and the separate Login UI service, so size the VPS for the database engine, not just the app process.

Step 2
Pick the app

Mark the app. Select ZITADEL and Leneex provisions the core, login, and PostgreSQL containers together — this is where you install ZITADEL on VPS without hand-writing the multi-container compose file yourself.

Step 3
Get your credentials

Get access. Retrieve the masterkey, database credentials, and the bootstrap admin address from the panel — you'll need all three for the first login.

Why us

Why Host ZITADEL on Leneex

Speed, protection and support you can rely on — on every plan, with no hidden limits.
Deployment speed
ZITADEL's production setup means three coordinated services — Postgres, the core API, the Login UI — sharing one origin behind a proxy. One-click deploy avoids the manual sequencing errors that break the login redirect on a hand-built stack.
Free installation
Self-hosted ZITADEL is free with no DAU cap, unlike every Zitadel Cloud tier above the free plan. Paying €0 to install it keeps that promise intact from the first minute instead of adding a setup fee on top of a product designed to be cost-free.
DDoS protection
The Login UI and OIDC/SAML endpoints are public by design — every connected app redirects users there. That makes it a concentrated target for credential-stuffing and volumetric attacks, and losing it locks out every downstream application at once, not just one service.
Control and support
Tuning Postgres for event-sourced writes, rotating the masterkey, or debugging a stuck Login V2 redirect all need root-level access and someone who understands the two-container architecture, not just generic Linux support.
99.9% uptime with SLA compensation
An identity provider outage doesn't degrade one app — it blocks sign-in everywhere ZITADEL is the auth source. That single-point-of-failure risk is exactly why uptime here matters more than for a peripheral tool, and it beats the 99.5% baseline on Zitadel Cloud's own Pro tier.
Flexible payment
Teams billing identity infrastructure internally across multiple products benefit from a fixed monthly VPS cost instead of the DAU-based overage pricing on Zitadel Cloud — pay by card, crypto, or invoice without your bill moving with login volume.
What to choose

ZITADEL: Self-Hosted vs Cloud — Which to Choose

We compare cost, control over your data and limits, so the choice is an informed one.
ZITADEL Cloud
Self-hosted on LeneexRecommended
Resources and limitsFree tier capped at 100 DAU; Pro ($100/mo) covers 25,000 DAU, then billed overageDedicated server resources, no DAU cap
Control and accessNo root; managed infrastructure, configuration limited to console/APIRoot access, direct Postgres tuning, full config over masterkey and Actions
Feature limitsCustom domain, extended SLA, and multi-zone HA require Pro or EnterpriseFull Community Edition: SSO, MFA, SAML, SCIM, unlimited orgs included
ScalingScaling is automatic but tied to your plan's DAU/request quotaUpgrade the VPS or add zitadel-api replicas behind the proxy on demand
CostCost rises with DAU and API request volume past the included quotaFixed VPS price regardless of user growth
Who it fitsTeams wanting a zero-ops managed setup and fast time-to-first-loginTeams with data-residency needs, deep customization, or predictable costs at scale

ZITADEL Cloud is a real product, not a generic comparison — deploying ZITADEL in one click on a VPS mainly pays off once your daily active users pass the free or Pro tier, or when the masterkey and database need to stay under your own control. Below that threshold, Cloud's zero-maintenance setup is the faster path; above it, self-hosting removes a growing monthly bill entirely.

Frequently Asked Questions about ZITADEL on VPS

What people ask most about ZITADEL and our servers.

  • There's no built-in one-click migration between ZITADEL Cloud and a self-hosted ZITADEL installation. You export users and configuration through the API and re-provision them on the new instance, so plan the cutover window before pointing production apps at the new domain.

  • The PostgreSQL database lives on the server's disk volume, so upgrading the plan on Leneex keeps the existing data intact. Downgrading below your current database size is the only scenario that risks data loss.

  • ZITADEL v4 needs a reverse proxy (Traefik, Caddy, or NGINX) terminating TLS in front of both the core API and the separate Login UI; whether the Leneex one-click install auto-provisions SSL for both paths is worth confirming with Leneex support.

  • Throughput depends on how much RAM PostgreSQL gets and how many login/token requests your connected apps generate per day, not just the DAU count. An entry-level plan comfortably supports a few hundred concurrent users, but exact capacity for your workload should be tested before relying on it in production.

  • ZITADEL runs a schema migration step on major version upgrades, and Leneex doesn't auto-update a running identity provider to avoid breaking active sessions. You (or your team) pull the new image and run the setup job manually when you're ready to upgrade.

What's already set up

The one-click ZITADEL installation on Leneex provisions three coordinated Docker services: PostgreSQL for the event-sourced identity store, the ZITADEL core API, and the separate Login UI (v2) that shares the core's network namespace. Before your first deploy, check the panel's environment variables to see whether the containers use a restart: unless-stopped policy and whether the masterkey and database passwords were generated automatically. This one click automation ZITADEL setup skips the manual compose-file editing that a from-scratch install requires, but the masterkey it generates is the single credential that decrypts your database — losing it means losing access to every identity in the instance, so back it up outside the VPS immediately.

First login

Open https://<your-domain>/ui/console once the containers report healthy. On a fresh ZITADEL instance the bootstrap admin typically follows the pattern zitadel-admin@zitadel.<domain> with the default password Password1!, unless the installer overrides it. Change that password and enable MFA on the admin account before doing anything else; this is the account that controls every organization on the instance.

Domain, TLS, and the Login V2 split

ZITADEL v4 splits into two services that must share one public origin behind a reverse proxy — if only the core API is reachable and nothing serves /ui/v2/login, interactive sign-in breaks even though the API itself looks healthy.

Deploy ZITADEL in about 5 minutes

Choose a server — we do the rest: install, configure and send you the credentials.