docker/env.example as the reference; if you are already inside the docker/ directory, run cp env.example .env and then adjust the values as needed.
Some parameter explanations are as follows:
Organization Bootstrap and Templates
The following variables are mainly used when a new organization is created. They control the default workspace bootstrap flow, analytics seed data, and external xpert templates:
Example:
ORG_DEFAULT_XPERT_TEMPLATE_KEYSuses template IDs, not display names. The two example IDs above correspond toChatBI with Sales Analysis ExpertandText2SQL-ChatDB.ORG_ANALYTICS_BOOTSTRAP_MODE=semantic-onlyinitializes only the semantic-model prerequisites;full-demoalso imports demo indicators and demo stories.- If
XPERT_TEMPLATE_DIRis not set, the service falls back to the default data directory. In Docker this is typically/var/lib/xpert/data/xpert-template. - These settings affect newly created organizations only. Existing organizations are not backfilled automatically.
Permissions and Handoff Routing
Example:
docker/handoff-routing.example.yaml from the Xpert source repository. A minimal example looks like this:
ALLOW_SUPER_ADMIN_ROLEdoes not create or remove roles. It only controls whetherSUPER_ADMINautomatically passes certain tenant and organization permission checks.- If
HANDOFF_ROUTING_CONFIG_PATHis not set, the service logs a warning and falls back to built-in defaults. - The handoff routing file is loaded during module initialization, so API restart is required after editing the YAML file.
Plugins and Default Skill Repositories
Example:
PLUGINSis read during service startup, so API restart is required after changes.AI_DEFAULT_SKILL_REPOSITORIESalso accepts a raw JSON array, but the wrappedrepositoriesformat fromdocker/env.exampleis recommended for future extensibility.- The
providerfield inAI_DEFAULT_SKILL_REPOSITORIESmust match a supported skill repository provider, such asgithuborclawhub. - Invalid JSON is ignored and a warning is logged.
- These default repositories are only auto-registered for newly created tenants. Existing tenants need manual registration and sync through the skill repository APIs.