
ZITADEL
Cloud-native identity management platform
Deploy ZITADEL in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select ZITADEL
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Self-Host ZITADEL with Docker
Take the DIY route and deploy ZITADEL on your own server using Docker.
Connect to Your VPS via SSH
Fire up your terminal application and establish a connection to your remote server.
# Access your VPS
ssh root@YOUR_SERVER_IP
# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IPFirst time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh
Initialize Project Folder
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/zitadel
cd ~/apps/zitadelCreate Docker Configuration
Define your services in a docker-compose.yml file:
services:
zitadel:
image: ghcr.io/zitadel/zitadel:latest
command: start-from-init --masterkeyFromEnv --tlsMode disabled
ports:
- "8080:8080"
environment:
- ZITADEL_MASTERKEY=<your-master-key>
- ZITADEL_DATABASE_POSTGRES_HOST=db
- ZITADEL_DATABASE_POSTGRES_PORT=5432
- ZITADEL_DATABASE_POSTGRES_DATABASE=postgres
- ZITADEL_DATABASE_POSTGRES_USER_USERNAME=postgres
- ZITADEL_DATABASE_POSTGRES_USER_PASSWORD=<your-db-password>
- ZITADEL_DATABASE_POSTGRES_ADMIN_USERNAME=postgres
- ZITADEL_DATABASE_POSTGRES_ADMIN_PASSWORD=<your-db-password>
- ZITADEL_DATABASE_POSTGRES_USER_SSL_MODE=disable
- ZITADEL_EXTERNALSECURE=false
- ZITADEL_FIRSTINSTANCE_ORG_HUMAN_USERNAME=admin
- ZITADEL_FIRSTINSTANCE_ORG_HUMAN_PASSWORD=<your-admin-password>
restart: unless-stopped
depends_on:
db:
condition: service_healthy
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=postgres
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
PORTHost port(default: 8080)MASTER_KEYMaster keyADMIN_PASSWORDAdmin passwordDB_PASSWORDDB passwordExecute the Deployment
Start your containers and verify they're running correctly.
# Launch the stack
docker compose up -d
# Verify container status
docker compose ps
# Follow the logs
docker compose logs --followAllow Network Access
Update UFW rules to allow traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8080Don't want to type commands? We've got you.
Forget SSH and YAML files. Deploy ZITADEL visually with Server Compass in just a few clicks.
- No terminal required
- Point-and-click setup
- Auto SSL certificates
- Rolling deployments
- Health monitoring
- Instant rollbacks
After Deployment
After deploying ZITADEL with Server Compass, complete these steps to finish setup
Login with admin credentials
Create organization
Configure identity providers
Need help? Check out our documentation for detailed guides.
ZITADEL FAQ
Common questions about self-hosting ZITADEL
How do I deploy ZITADEL with Server Compass?
Simply download Server Compass, connect to your VPS, and select ZITADEL from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
What are the system requirements for ZITADEL?
ZITADEL requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Can I migrate my existing ZITADEL data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard ZITADEL backup and restore procedures.
How do I update ZITADEL to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest ZITADEL image will be pulled and deployed with zero downtime.
Is ZITADEL free to self-host?
ZITADEL is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Related Templates
View all Development
PocketBase
Open-source backend in a single file with realtime database, auth, and file storage

Appwrite
Open-source backend-as-a-service - self-hosted Firebase alternative

Parse Server
Open-source backend framework with dashboard

Supabase
Full Supabase self-hosted with Kong, GoTrue Auth, Realtime, and Studio
Ready to Self-Host ZITADEL?
Download Server Compass and deploy ZITADEL to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass