docs: add description frontmatter to content pages for SEO (#11654)

This commit is contained in:
Florian Forster
2026-02-21 07:44:42 -08:00
committed by GitHub
parent afeeee87c3
commit 2c260a1f10
304 changed files with 421 additions and 46 deletions
@@ -1,5 +1,6 @@
---
title: Set up Zitadel with Docker Compose
description: "Deploy a ZITADEL instance locally using Docker Compose for rapid testing and development."
sidebar_label: Docker Compose
---
@@ -1,5 +1,6 @@
---
title: Developing ZITADEL with Dev Containers
description: "Set up a local ZITADEL development environment using dev containers with Docker and VS Code for minimal setup"
sidebar_label: Dev Containers
---
@@ -1,5 +1,6 @@
---
title: Caching
description: "Configure ZITADEL caching with Redis or Valkey on Kubernetes using authentication methods like passwords and TLS connections"
sidebar_label: Caching
---
@@ -1,5 +1,6 @@
---
title: Configuration
description: "Configure ZITADEL Helm chart settings for Kubernetes deployments including global, ZITADEL, and scaling options"
sidebar_label: Configuration
---
@@ -1,5 +1,6 @@
---
title: Database
description: "Configure PostgreSQL connections for ZITADEL on Kubernetes with TLS options to secure database traffic during deployment"
sidebar_label: Database
---
@@ -1,6 +1,7 @@
---
title: Kubernetes
sidebar_label: Overview
description: Deploy ZITADEL on Kubernetes using Helm charts for scalable identity management
---
@@ -1,5 +1,6 @@
---
title: Ingress
description: "Configure Kubernetes Ingress resources for ZITADEL and Login containers to manage API traffic and UI access"
sidebar_label: Ingress
---
@@ -1,5 +1,6 @@
---
title: Installation
description: "Deploy ZITADEL on Kubernetes using Helm with a PostgreSQL database and an Ingress controller for external access"
sidebar_label: Installation
---
@@ -1,5 +1,6 @@
---
title: Observability
description: "Collect traces, metrics, and logs from ZITADEL and Login containers using OpenTelemetry and Prometheus for observability monitoring"
sidebar_label: Observability
---
@@ -1,5 +1,6 @@
---
title: Operations
description: "Manage and scale ZITADEL on Kubernetes, covering upgrades, manual and automated scaling, and database considerations"
sidebar_label: Operations
---
@@ -1,5 +1,6 @@
---
title: Uninstalling
description: "Uninstall ZITADEL from a Kubernetes cluster by removing the Helm release and cleaning up residual resources"
sidebar_label: Uninstalling
---
@@ -1,5 +1,6 @@
---
title: Install Zitadel on Linux
description: "Installing ZITADEL and PostgreSQL on Linux for a self-hosted environment."
sidebar_label: Linux
---
@@ -1,5 +1,6 @@
---
title: Install ZITADEL on MacOS
description: "Install PostgreSQL, then deploy ZITADEL on MacOS using Homebrew or by downloading from GitHub and running the binary"
sidebar_label: MacOS
---
@@ -1,5 +1,6 @@
---
title: Deploy ZITADEL
description: "Comprehensive deployment options for ZITADEL on Linux, macOS, Docker Compose, and Kubernetes."
sidebar_label: Overview
---
@@ -23,7 +24,7 @@ The easiest way to use ZITADEL is to run one of our container releases
- **stable** is the current **production** release of ZITADEL.
- **latest** is the **last created** release from our pipelines that gets updated in a high frequency.
# Production Setup
## Production Setup
After you have successfully created your first test environment using one of the deployment guides in this section,
you might want to configure ZITADEL for production and embed it into your system landscape.
@@ -1,5 +1,6 @@
---
title: Troubleshoot ZITADEL
description: "Resolve common ZITADEL self-hosting issues, including instance not found and upstream header errors during deployment troubleshooting"
---
import InstanceNotFound from "../../../self-hosting/deploy/troubleshooting/_instance_not_found.mdx";
@@ -1,5 +1,6 @@
---
title: Caches
description: "Configure cache connectors for frequently needed objects to speed up internal business logic and improve performance with ZITADEL caching"
sidebar_label: Caches [Beta]
---
@@ -1,5 +1,6 @@
---
title: Mirror data from cockroach to postgres
description: "Migrate data from CockroachDB to PostgreSQL using ZITADEL mirror commands for database-to-database migrations and replication"
sidebar_label: Mirror command
---
@@ -1,5 +1,6 @@
---
title: ZITADEL Command Line Interface
description: "The ZITADEL command line interface to download, initialize, setup, and start ZITADEL"
sidebar_label: Overview
---
@@ -1,5 +1,6 @@
---
title: Configuration Options in ZITADEL
description: "Detailed guide to configuring ZITADEL using runtime files, database initialization settings, and environment variables."
sidebar_label: Configuration
---
@@ -1,5 +1,6 @@
---
title: Configure ZITADEL
description: Configure ZITADEL runtime settings using YAML files and environment variables for system-wide customization
---
Detailed configuration options for ZITADEL.
@@ -1,6 +1,7 @@
---
title: External ZITADEL Access
sidebar_label: Instance Not Found
description: "Configure custom domains and solve 'Instance not found' errors by ensuring correct Host header routing for ZITADEL instances."
sidebar_label: External Access
---
## Why do I get an "Instance not found" error?
@@ -1,10 +1,11 @@
---
title: Database
description: Configure and manage the ZITADEL database using PostgreSQL for persistent storage and audit logs
---
import Postgres from './_postgres.mdx'
# Database Configuration
## Database Configuration
<Postgres components={props.components} />
@@ -1,5 +1,6 @@
---
title: HTTP/2 Support in ZITADEL
description: "Configure HTTP/2 support for ZITADEL with reverse proxies and service meshes using gRPC and h2c protocols"
sidebar_label: HTTP/2 Support
---
@@ -1,5 +1,6 @@
---
title: Connect your Self-Hosted Login UI to Zitadel
description: "Create a Personal Access Token for login client user with IAM_LOGIN_CLIENT role to connect self-hosted Login UI to ZITADEL API"
sidebar_label: Create a Login Client
---
@@ -19,7 +20,7 @@ In the following URLs, replace the base URL and the user ID according to your en
3. Save the PAT to a file, for example `/path/on/your/host/login-client.pat`
4. Make sure the user has the `Instance Login Client` role (internally called `IAM_LOGIN_CLIENT`), for example at http://localhost:8080/ui/console/instance/members
# Configure the Login UI
## Configure the Login UI
Make sure your Login UI has the environment variable `ZITADEL_SERVICE_USER_TOKEN` set with your PAT.
If you run the Login UI with Docker, you can also mount the file into the container and reference it by passing the environment variable `ZITADEL_SERVICE_USER_TOKEN_FILE`.
@@ -29,7 +30,7 @@ For example:
docker run -p 3000:3000 -v /path/on/your/host/login-client.pat:/path/in/container/login-client.pat:ro -e ZITADEL_SERVICE_USER_TOKEN_FILE=/path/in/container/login-client.pat ghcr.io/zitadel/zitadel-login:latest
```
# Enable the Login UI for all users
## Enable the Login UI for all users
<Callout type="warn">
Before doing this, make sure you have a working PAT for an instance Owner user.
@@ -40,7 +41,7 @@ Create a service account PAT like you created the [login client PAT above](#crea
Enable the `Login V2` feature flag, for example at the bottom of http://localhost:8080/ui/console/instance?id=features.
Enter the base URI of your Login UI, for example `http://localhost:3000/ui/v2/login`.
# Test
## Test
That's it!
Click your users avatar in the top right corner of the management console and select `Log in With Another Account`.
@@ -1,9 +1,9 @@
---
title: Metrics
description: Overview of ZITADEL metrics, exposure endpoint, and compatibility with monitoring systems.
description: "Monitor ZITADEL operational performance using Prometheus-compatible metrics exposed via the /debug/metrics endpoint."
---
# Metrics
## Metrics
ZITADEL exposes operational and performance metrics to support monitoring, alerting, and capacity planning.
@@ -1,9 +1,9 @@
---
title: Prometheus
description: Configure Prometheus to scrape ZITADEL metrics from /debug/metrics on Kubernetes and Docker.
description: "Scrape and visualize ZITADEL metrics with Prometheus using Kubernetes autodiscovery or ServiceMonitor."
---
# Prometheus
## Prometheus
This page shows platform-agnostic ways to scrape ZITADEL metrics using:
@@ -1,6 +1,7 @@
---
title: ZITADEL Production Setup
sidebar_lable: Production Setup
description: "Configure self-hosted ZITADEL for production, including high availability, networking, monitoring, and logging best practices."
sidebar_label: Production Setup
---
As soon as you successfully deployed ZITADEL as a proof of concept using one of our [deployment guides](/self-hosting/deploy/overview),
@@ -1,5 +1,6 @@
---
title: ZITADEL Production Checklist
description: "Comprehensive checklist for deploying ZITADEL in production, covering infrastructure, security, and operational readiness."
sidebar_label: Production Checklist
---
@@ -1,6 +1,7 @@
---
title: Configure Zitadel with Caddy
sidebar_label: Caddy
description: Configure ZITADEL with Caddy reverse proxy including TLS configuration and Docker setup
---
import ProxyGuideOverview from '../_proxy_guide_overview.mdx';
@@ -1,6 +1,7 @@
---
title: Configure Zitadel with Cloudflare Tunnel
sidebar_label: Cloudflare Tunnel
description: Configure ZITADEL with Cloudflare Tunnel and address known HTTP/2 limitations
---
<Callout type="warn">
@@ -1,6 +1,7 @@
---
title: Configure Zitadel with Apache httpd
sidebar_label: Apache httpd
description: Configure ZITADEL with Apache httpd reverse proxy including TLS configuration and Docker setup
---
import ProxyGuideOverview from '../_proxy_guide_overview.mdx';
@@ -1,6 +1,7 @@
---
title: Configure Zitadel with NGINX
sidebar_label: NGINX
description: Configure ZITADEL with NGINX reverse proxy including TLS configuration and Docker setup
---
import ProxyGuideOverview from '../_proxy_guide_overview.mdx';
@@ -1,5 +1,6 @@
---
title: Reverse Proxy Configuration
description: "Setup and configure reverse proxies like Traefik, NGINX, and Caddy to manage external traffic for self-hosted ZITADEL."
---
Check out one of the following guides to configure your favorite reverse proxy:
@@ -1,6 +1,7 @@
---
title: Configure Zitadel with Traefik
sidebar_label: Traefik
description: Configure ZITADEL with Traefik reverse proxy including TLS configuration and Docker setup
---
import ProxyGuideOverview from '../_proxy_guide_overview.mdx';
@@ -1,5 +1,6 @@
---
title: Service Ping
description: "Configure Service Ping to send anonymized analytics and usage data from ZITADEL systems periodically to improve ZITADEL insights"
sidebar_label: Service Ping
---
@@ -1,5 +1,6 @@
---
title: TLS Modes
description: "Configure TLS modes for ZITADEL, choosing from disabled, external, or enabled to secure connections according to your infrastructure needs"
---
To run ZITADEL on any kind of infrastructure, you can configure on how to handle TLS connections.
@@ -1,5 +1,6 @@
---
title: Update and Scale ZITADEL
description: "Guidelines for updating and scaling ZITADEL instances, utilizing separate initialization and runtime phases for high availability."
sidebar_label: Update and Scale
---
@@ -1,5 +1,6 @@
---
title: Usage Control
description: "Manage and limit resource usage in self-hosted ZITADEL instances by setting quotas for requests and action execution."
sidebar_label: Usage Control
---