Conclave Docs

Configuration

Key environment variables per service.

The variables that actually change behavior. Full sets live in each repo's .env.example and are rendered from environments/matrix.*.env by envctl — see Local development.

Cross-cutting

VarMeaning
IN_TEEtrue in prod (real TDX quotes via /var/run/dstack.sock); false locally (stub)
INTERNAL_* vs BROWSER_*docker-network URL vs host-browser URL — do not conflate

Conclave

VarMeaning
CONCLAVE_INPERSON_VIA_CAPTURERoute in-person through capture-diart (set explicitly — dstack ignores compose defaults)
CONCLAVE_DIARIZE_URLWhere to send the authoritative post-pass
CONCLAVE_ADMIN_EMAILSIn-enclave admin allowlist
CONCLAVE_DEV_LOGINEnables /api/auth/v1/dev-login locally
LLM / ASR backendRedPill TEE / NEAR AI; ASR = NEAR Whisper (whisper-large-v3)

Capture

VarMeaning
CAPTURE_DIARIZERdiart | diarizen | remote | mock
CAPTURE_DIARIZER_URLRemote GPU diarizer endpoint (torch-free caller)
CAPTURE_AUDIO_FETCH_TOKEN · CAPTURE_DIARIZE_RESULT_TOKENJob-queue service tokens
HF_HUB_OFFLINE1 — offline models, no runtime egress

VFTE / FPM

VarMeaning
FPM_DB_KEYMaster seal key (TEE-sealed → env → dev keyfile)
FPM_AUTH_TOKENSScoped, fail-closed M2M tokens (per-endpoint + optional workspace filter)
fpm_workspace_for(workspace_id)The opaque scope-id mapping (must match on identify and tag)

Local workspaces: Conclave uses local-ws; VFTE voiceprints are scoped to local-ws (not the raw ws_xxx) — a common gotcha when wiping test voiceprints.

Source: ENVIRONMENTS.md, per-repo .env.example, DEPLOYMENT-GUIDE.md.

On this page