Files
SharedServices/.env.prod.example
T
Admin b97dacba94 Run Zitadel with tlsMode external behind the edge
With tlsMode disabled Zitadel advertises http URLs, so the console calls
http://<domain> and the CSP blocks it. Make it configurable through
ZITADEL_TLS_MODE (default disabled for dev, external in prod).
2026-09-23 18:03:49 +02:00

34 lines
1.3 KiB
Bash

# Production configuration for compose.yml (no overlay needed: the base
# file is already the production shape, with no published ports and
# everything reachable only on infra-net).
#
# cp .env.prod.example .env.prod
# chmod 600 .env.prod
# docker compose --env-file .env.prod -f compose.yml up -d
#
# Replace every CHANGE_ME with a strong random value (`openssl rand -hex 24`;
# the Zitadel masterkey needs exactly 32 characters) and auth.example.com
# with the real hostname the shared edge (edge/) terminates TLS for.
# --- PostgreSQL ---------------------------------------------------------------
POSTGRES_USER=postgres
POSTGRES_PASSWORD=CHANGE_ME
# --- Zitadel (OIDC) ----------------------------------------------------------
ZITADEL_MASTERKEY=CHANGE_ME_32_CHARACTERS_EXACTLY_
ZITADEL_EXTERNAL_DOMAIN=auth.example.com
ZITADEL_EXTERNAL_PORT=443
ZITADEL_EXTERNAL_SECURE=true
ZITADEL_TLS_MODE=external
ZITADEL_DATABASE_PASSWORD=CHANGE_ME
ZITADEL_ADMIN_USERNAME=admin
ZITADEL_ADMIN_PASSWORD=CHANGE_ME
# --- SeaweedFS (S3) ----------------------------------------------------------
S3_ACCESS_KEY=CHANGE_ME
S3_SECRET_KEY=CHANGE_ME
# --- RabbitMQ -----------------------------------------------------------------
RABBITMQ_DEFAULT_USER=CHANGE_ME
RABBITMQ_DEFAULT_PASS=CHANGE_ME