mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-30 11:02:16 +00:00
* poc * wip * works * upgrade yaml package * need to add global comments for shifting * wip: need index before working on comments * green * clean up * test null value * comment * package * delete * convert to module * render md table * tests with ESM * comments * top level gitignore * wip: new cases * arrays: green * array_test * treat comments on map without first element * fix some new case * skip leaf comments * output folder * comment * finish up for poc * arrays * create output dir * merge main, create tables * copy config options to docs * cleanup * recommend file configuration * language * add some explanations * some small typo fixes --------- Co-authored-by: mffap <[email protected]> Co-authored-by: Florian Forster <[email protected]>
110 lines
4.7 KiB
Plaintext
110 lines
4.7 KiB
Plaintext
---
|
|
title: Configuration Options
|
|
---
|
|
|
|
import Tabs from "@theme/Tabs";
|
|
import TabItem from "@theme/TabItem";
|
|
import LinuxUnix from "./_linuxunix.mdx";
|
|
import Compose from "./_compose.mdx";
|
|
import Helm from "./_helm.mdx";
|
|
import CodeBlock from "@theme/CodeBlock";
|
|
import DefaultsYamlSource from "!!raw-loader!./defaults.yaml";
|
|
import StepsYamlSource from "!!raw-loader!./steps.yaml";
|
|
|
|
This guide assumes you are familiar with [running ZITADEL using the least amount of configuration possible](/docs/self-hosting/deploy/overview).
|
|
|
|
## Configuration files
|
|
|
|
### Runtime configuration file
|
|
|
|
You can configure the runtime using the `--config` flag of the `zitadel` binary.
|
|
Also, you can use the environment variables listed in the defaults.yaml.
|
|
|
|
<details>
|
|
<summary>defaults.yaml</summary>
|
|
<CodeBlock language="yaml">{DefaultsYamlSource}</CodeBlock>
|
|
</details>
|
|
|
|
### Database initialization file
|
|
|
|
ZITADEL uses a [different configuration file](https://github.com/zitadel/zitadel/blob/main/cmd/setup/steps.yaml) for _database initialization steps_.
|
|
Use the `--steps` flag of the `zitadel` binary to provide this configuration file.
|
|
Also, you can use the environment variables listed in the steps.yaml.
|
|
|
|
<details>
|
|
<summary>steps.yaml</summary>
|
|
<CodeBlock language="yaml">{StepsYamlSource}</CodeBlock>
|
|
</details>
|
|
|
|
### Multiple configuration files
|
|
|
|
ZITADEL merges configuration files when multiple `--config` and `--steps` flags are provided.
|
|
You can use these flags to handle standard configuration files differently from secret configuration files.
|
|
For example, standard configuration files stored in git may contain public information such as a database hostname.
|
|
To use private information — such as a database admin credential — without storing it in git, use an extra `--config` or `--steps` flag that requests the private information from a secret manager.
|
|
|
|
## Environment variables
|
|
|
|
All configuration properties are configurable using environment variables.
|
|
ZITADEL environment variable keys are prefixed with `ZITADEL_`.
|
|
For example, to configure the default ZITADEL IAM admin username and password set the `zitadel` binary runtime environment variables `ZITADEL_FIRSTINSTANCE_ORG_HUMAN_USERNAME` and `ZITADEL_FIRSTINSTANCE_ORG_HUMAN_PASSWORD`.
|
|
All supported environment variables are listed in the [runtime configuration file](#runtime-configuration-file) and the [database initialization file](#database-initialization-file).
|
|
|
|
### Proxy configuration
|
|
|
|
A proxy for outgoing connections can be configured using the environment variables: Use `HTTP_PROXY` for outgoing HTTP requests, and `HTTPS_PROXY` for outgoing HTTPS requests.
|
|
These environment variables are used as a proxy URL.
|
|
To exclude specific hosts from proxying, set the `NO_PROXY` environment variable: The value is interpreted as a comma-separated string.
|
|
For more information on the `NO_PROXY` environment variable, read the [`httpproxy` Go doc](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config).
|
|
|
|
## Masterkey
|
|
|
|
The masterkey is used to AES256-encrypt other generated encryption keys.
|
|
It must be 32 bytes.
|
|
There are three ways to pass the masterkey to the `zitadel` binary:
|
|
|
|
- By value: Use the flag `--masterkey My_Master_Key_Which_Has_32_Bytes`
|
|
- By environment variable `ZITADEL_MASTERKEY`: Use the flag `--masterkeyFromEnv`
|
|
- By file: Use the flag `--masterkeyFile /path/to/file`
|
|
|
|
## Passing the configuration
|
|
|
|
<Tabs
|
|
groupId="installation-target"
|
|
default="linuxunix"
|
|
values={[
|
|
{ label: "Linux and Unix", value: "linuxunix" },
|
|
{ label: "Docker Compose", value: "compose" },
|
|
{ label: "Kubernetes (Helm)", value: "k8s" },
|
|
]}
|
|
>
|
|
<TabItem value="linuxunix">
|
|
<LinuxUnix />
|
|
</TabItem>
|
|
<TabItem value="compose">
|
|
<Compose />
|
|
</TabItem>
|
|
<TabItem value="k8s">
|
|
<Helm />
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
Open your favorite internet browser at [http://localhost:8080/ui/console](http://localhost:8080/ui/console).
|
|
This is the IAM admin users login according to your configuration in the [example-zitadel-init-steps.yaml](./example-zitadel-init-steps.yaml):
|
|
|
|
- **username**: _root@<span></span>zitadel.localhost_
|
|
- **password**: _RootPassword1!_
|
|
|
|
## What's next
|
|
|
|
- Read more about [the login process](/guides/integrate/login-users).
|
|
- If you are running ZITADEL in production, you need to [customize your own domain](./custom-domain).
|
|
- Check out all possible [runtime configuration properties and their defaults in the source code](https://github.com/zitadel/zitadel/blob/main/cmd/defaults.yaml)
|
|
- Check out all possible [setup step configuration properties and their defaults in the source code](https://github.com/zitadel/zitadel/blob/main/cmd/setup/steps.yaml)
|
|
|
|
:::caution
|
|
|
|
<!-- TODO: Better mark the link in the UI -->
|
|
|
|
The ZITADEL management console [requires end-to-end HTTP/2 support](/docs/self-hosting/manage/http2)
|