What needs fixing?
Summary
VC is disabled unless a
Voice Region is set, either in the Fluxer Admin panel or in the env var
FLUXER_LIVEKIT_DEFAULT_REGION.
What the problem may be
The region topology is empty with default configuration. The 403 error symptom appears to occur due to the
getVoiceToken RPC giving a
FeatureTemporarilyDisabledError if the voice region DB is empty. the 403 symptom surfaced in the API logs:
{"level":"info","time":"2026-06-25T22:40:48.542Z","service":"fluxer-api",...,"path":"/internal/rpc","status":403,"durationMs":24,"msg":"Request completed"}
{"level":"info","time":"2026-06-25T23:09:11.441Z",...,"path":"/internal/rpc","status":403,...}
{"level":"info","time":"2026-06-25T23:12:18.725Z",...,"path":"/internal/rpc","status":403,...}
What fixed it for me
Setting
FLUXER_LIVEKIT_DEFAULT_REGION to a region JSON object in the the
docker-compose.yml ensures the
voice.defaultRegion startup condition is satisfied.
docker-compose.yml
FLUXER_LIVEKIT_ENABLED: "true"
FLUXER_LIVEKIT_API_KEY: ${LIVEKIT_API_KEY:?set LIVEKIT_API_KEY in .env}
FLUXER_LIVEKIT_API_SECRET: ${LIVEKIT_API_SECRET:?set LIVEKIT_API_SECRET in .env}
FLUXER_LIVEKIT_WEBHOOK_URL: http://api:8080/webhooks/livekit
FLUXER_LIVEKIT_URL: wss://${FLUXER_DOMAIN}/livekit
# Ensures startup condition voice.defaultRegion is set, this example sets it to Europe/Oslo
FLUXER_LIVEKIT_DEFAULT_REGION: '{"id":"home","name":"Home","emoji":"🏠","latitude":59.91,"longitude":10.75}'
LLM disclosure
LLM has been utilized for troubleshooting purposes. However, none of the text in this report is generated.
Suggested change
The documentation does not make it clear that a Voice Region is mandatory. Ship a sensible default region by adding
FLUXER_LIVEKIT_DEFAULT_REGION to
deploy/self-hosting/docker-compose.yml, or at minimum make the join-time error explicitly state "no voice region provisioned".