Files

97 lines
3.8 KiB
Bash

# zrok2 Docker Compose — environment variables
#
# Copy this file to .env and edit the values below. All variables with
# "changeme" MUST be changed before starting the stack.
#
# Variable names match the Linux self-hosting guide so the same values
# work in both environments.
# ── Required ──────────────────────────────────────────────────────────────────
# DNS zone with a wildcard * A record resolving to this host.
# Example: share.example.com → then *.share.example.com resolves here.
ZROK2_DNS_ZONE=share.example.com
# Administrative token for the zrok2 controller (min 32 chars recommended).
ZROK2_ADMIN_TOKEN=changeme-zrok2-admin-token-at-least-32-chars
# Password for the Ziti controller admin user.
ZITI_PWD=changeme-ziti-password
# ── Optional — Ziti Overlay ──────────────────────────────────────────────────
# Ziti controller image and version.
# ZITI_CONTROLLER_IMAGE=docker.io/openziti/ziti-controller
# ZITI_CONTROLLER_TAG=latest
# Ziti router image and version.
# ZITI_ROUTER_IMAGE=docker.io/openziti/ziti-router
# ZITI_ROUTER_TAG=latest
# Ziti control plane port (clients connect here for enrollment).
# ZITI_CTRL_PORT=1280
# Ziti router data-plane port (SDK clients connect here).
# ZITI_ROUTER_PORT=3022
# Ziti admin username.
# ZITI_USER=admin
# ── Optional — zrok2 Services ───────────────────────────────────────────────
# zrok2 container image.
# ZROK2_IMAGE=docker.io/openziti/zrok2
# ZROK2_TAG=latest
# zrok2 controller API port (internal).
# ZROK2_CTRL_PORT=18080
# zrok2 frontend port (internal).
# ZROK2_FRONTEND_PORT=8080
# Database type: "postgres" (default) or "sqlite3".
# ZROK2_STORE_TYPE=postgres
# PostgreSQL password.
ZROK2_DB_PASSWORD=changeme-db-password
# ── Optional — Metrics Pipeline ──────────────────────────────────────────────
# Set to "true" to enable the metrics pipeline (RabbitMQ + InfluxDB).
# ZROK2_METRICS_ENABLED=false
# InfluxDB admin password (must be 8+ characters).
# ZROK2_INFLUX_PASSWORD=changeme-influx-password
# InfluxDB API token.
ZROK2_INFLUX_TOKEN=changeme-influx-token
# ── Optional — TLS with Caddy ───────────────────────────────────────────────
# To enable TLS, run:
# COMPOSE_FILE=compose.yml:compose.caddy.yml docker compose up -d
#
# Caddy DNS challenge plugin name (e.g., cloudflare, route53, digitalocean).
# CADDY_DNS_PLUGIN=cloudflare
# API token for the DNS provider.
# CADDY_DNS_PLUGIN_TOKEN=changeme
# ACME server URL (default: Let's Encrypt production).
# CADDY_ACME_API=https://acme-v02.api.letsencrypt.org/directory
# Interface to bind Caddy's HTTPS listener.
# CADDY_INTERFACE=0.0.0.0
# ── Build from Source ────────────────────────────────────────────────────────
# To build zrok2 from source instead of pulling a published image:
# COMPOSE_FILE=compose.yml:compose.build.yml
# ── Advanced ─────────────────────────────────────────────────────────────────
# Interface for insecure (non-TLS) service ports. Default: localhost only.
# Set to 0.0.0.0 if NOT using TLS and your host firewall handles access.
# ZROK2_INSECURE_INTERFACE=127.0.0.1
# UID for the "ziggy" user inside containers.
# ZIGGY_UID=2171