Files
auth-portal/deploy/env.traefik.example
T

55 lines
2.4 KiB
Plaintext

# Production .env for deploy/docker-compose.traefik.yml (auth + Traefik).
# Copy to /opt/auth-portal/.env and fill secrets. Do not commit.
# --- Traefik / Let's Encrypt (Cloudflare DNS-01) ---
CF_DNS_API_TOKEN=
[email protected]
AUTH_DOMAIN=auth.shnt.top
# TRAEFIK_IMAGE_TAG=v3.7
# TRAEFIK_HTTP_PORT=80
# TRAEFIK_HTTPS_PORT=443
# TRAEFIK_LOG_LEVEL=INFO
# --- Auth Portal ---
AUTH_IMAGE_TAG=latest
JWT_SECRET=
JWT_TTL_HOURS=1
REFRESH_TTL_DAYS=14
ISSUER=https://auth.shnt.top
# OIDC IdP for Technitium DNS and other external RPs (defaults to ISSUER if empty)
# OIDC_ISSUER=https://auth.shnt.top
# Optional PKCS8 RSA PEM; otherwise key is auto-generated into SQLite (/data)
# OIDC_RSA_PRIVATE_KEY=
[email protected]
ADMIN_PASSWORD=
ADMIN_NAME=Admin
# Include Technitium origin if used (e.g. https://dns.shnt.top)
RETURN_TO_ALLOWLIST=.shnt.top,https://vps.shnt.top,https://cfdm.shnt.top,https://bgp.shnt.top,https://fw.shnt.top,https://dns.shnt.top,https://cdn.shnt.top
LOG_LEVEL=info
NODE_ENV=production
# WebAuthn / passkeys (defaults from ISSUER hostname + origin)
# WEBAUTHN_RP_ID=auth.shnt.top
# WEBAUTHN_ORIGINS=https://auth.shnt.top
# WEBAUTHN_RP_NAME=Auth Portal
# --- Ingest аудита от подключённых приложений (обязателен для /api/v1/ingest/audit) ---
# AUDIT_INGEST_SECRET=
# --- Производительность / эксплуатация (все необязательны) ---
# Максимум на graceful shutdown, мс
# SHUTDOWN_TIMEOUT_MS=8000
# Одновременных argon2-хешей (каждый ~19 МиБ RAM)
# ARGON2_CONCURRENCY=2
# Сколько дней хранить истёкшие/отозванные сессии и коды
# SESSION_RETENTION_DAYS=7
# Доверенные прокси для X-Forwarded-For (IP/CIDR через запятую, true/false)
# TRUST_PROXY=127.0.0.1/8,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,fc00::/7
# Доп. origins для CORS (по умолчанию: issuer, RETURN_TO_ALLOWLIST, приложения App Switcher)
# CORS_ORIGINS=
# Бэкап SQLite: период в часах (0 = выключен), число копий, каталог
# BACKUP_INTERVAL_HOURS=24
# BACKUP_KEEP=7
# BACKUP_DIR=/data/backups
# Heap Node (образ рассчитан на mem_limit 256m); при другом лимите:
# NODE_OPTIONS=--max-old-space-size=160