Skip to main content
Use this reference when updating domains, migrating environments, or troubleshooting service configuration. Values come from docker-compose.yml, service-level .env files, and the NGINX reverse proxy.

Global notes

  • Domains must be updated consistently across APIs, WebSocket, Notifications, Webhooks, and NGINX.
  • Changing the primary domain impacts reverse proxy routing, OAuth headers, CORS, webhook endpoints, and TiDB hosts.
  • Service environment variables live in their respective directories; keep secrets in Swarm secrets or Vault.

Chat API

  • MAIN_DOMAIN="<your-domain>" - primary domain for API responses
  • EXTENSION_DOMAIN="<your-domain>" - extensions host
  • WEBHOOKS_BASE_URL="https://<webhooks-domain>/v1/webhooks"
  • TRIGGERS_BASE_URL="https://<webhooks-domain>/v1/triggers"
  • EXTENSION_BASE_URL="https://<notifications-domain>"
  • MODERATION_ENABLED=true
  • RULES_BASE_URL="https://<moderation-domain>/v1/moderation-service"
  • ADMIN_API_HOST="<api-domain>" and CLIENT_API_HOST="<client-api-domain>"
  • ALLOWED_API_DOMAINS="<your-domain>,<additional-allowed-domains>"
  • DB_HOST="<tidb-host>" and DB_HOST_CREATOR="<tidb-host>"
  • V3_CHAT_HOST="<websocket-domain>"

Management API

  • ADMIN_API_HOST="<api-domain>" and CLIENT_API_HOST="<client-api-domain>"
  • APP_HOST="<dashboard-domain>"
  • API_HOST="https://<mgmt-api-domain>"
  • MGMT_DOMAIN="<your-domain>" and MGMT_DOMAIN_TO_REPLACE="<your-domain>"
  • RULES_BASE_URL="https://<moderation-domain>/v1/moderation"
  • ACCESS_CONTROL_ALLOW_ORIGIN="<allowed-origins>"

WebSocket

Hostnames are derived from NGINX and Chat API configuration; no manual domain updates are typically required.

Notifications service

  • CC_DOMAIN="<your-domain>" - affects notification routing, token validation, and push delivery

Moderation service

  • CHAT_API_URL="<your-domain>" - used for rule evaluation, metadata reads, and decision submission

Webhooks service

  • CHAT_API_DOMAIN="<your-domain>" - must match the Chat API domain to avoid retries or signature failures

Extensions

"DOMAINS": [
  "<allowed-domain-1>",
  "<allowed-domain-2>",
  "<your-domain>"
],
"DOMAIN_NAME": "<your-domain>"
Controls CORS and allowed origins for extension traffic.

Receipt Updater

  • RECEIPTS_MYSQL_HOST="<tidb-host>" - updates delivery and read receipts plus thread metadata

SQL Consumer

  • CONNECTION_CONFIG.host="<tidb-host>"
  • ALTER_USER_CONFIG.host="<tidb-host>"
  • API_CONFIG.API_DOMAIN="<api-domain>"
Drives migrations, multi-tenant provisioning, and internal Chat API calls.

NGINX configuration files

Update domain values in:
  • chatapi.conf
  • extensions.conf
  • mgmtapi.conf
  • notifications.conf
  • dashboard.conf
  • globalwebhooks.conf
  • moderation.conf
  • websocket.conf
These control TLS termination, routing, reverse proxy rules, WebSocket upgrades, and certificate handling.

Domain update checklist

  • Chat API, Client API, and Management API domains
  • Notifications, Moderation, Webhooks, and Extensions services
  • NGINX reverse proxy hostnames
  • TiDB host references
  • WebSocket host configuration inside Chat API