2022-06-28 13:36:59 +02:00
|
|
|
---
|
|
|
|
title: Custom Domain
|
|
|
|
---
|
|
|
|
|
|
|
|
# Run ZITADEL on a (Sub)domain of Your Choice
|
|
|
|
|
|
|
|
This guide assumes you are already familiar with [configuring ZITADEL](./configure).
|
|
|
|
|
|
|
|
You most probably need to configure these fields for making ZITADEL work on your custom domain.
|
|
|
|
|
|
|
|
## Standard Config
|
|
|
|
|
|
|
|
For security reasons, ZITADEL only serves requests sent to the expected protocol, host and port.
|
|
|
|
If not using localhost as ExternalDomain, ExternalSecure must be true and you need to serve the ZITADEL console over HTTPS.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
ExternalSecure: true
|
|
|
|
ExternalDomain: 'zitadel.my.domain'
|
|
|
|
ExternalPort: 443
|
|
|
|
```
|
|
|
|
|
|
|
|
## Database Initialization Steps Config
|
|
|
|
|
|
|
|
ZITADEL creates random subdomains for each instance created.
|
2022-07-27 10:22:20 +02:00
|
|
|
However, for the first instance, this is most probably not the desired behavior.
|
|
|
|
In this case the `ExternalDomain`-field of the configuration is used.
|
2022-06-28 13:36:59 +02:00
|
|
|
|
|
|
|
## Example
|
|
|
|
|
2022-12-20 11:17:27 +01:00
|
|
|
Go to the [loadbalancing example with Traefik](/docs/self-hosting/deploy/loadbalancing-example) for seeing a working example configuration.
|