Repository navigation
Add an Element Call and LiveKit page - #19
Merged
Merged
Conversation
Covers self-hosting the MatrixRTC backend next to Synapse 1.163: LiveKit v1.13.10, lk-jwt-service v0.9.0, Synapse matrix_rtc and experimental flags, reverse-proxy routes, ports, checks and common failures. Links it from the Docker page and adds it to the Deployment sidebar after Docker.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New page: Element Call and LiveKit (
docs/deployment/element-call.md)Explains how to self-host the MatrixRTC backend next to Synapse 1.163:
livekit.yaml, and optional built-in TURN/TLS;LIVEKIT_FULL_ACCESS_HOMESERVERSandroom.auto_create: false;matrix_rtc(livekit_service_urlversusurl), and the.well-knownrtc_focitransition;The page has two
:::warningnotes (the API key and secret, an open SFU, and appservice tokens) and a:::info Coming nextnote (MSC4143 and MSC4195 entered FCP on 2026-10-15).Also in this PR:
docs/deployment/docker.md.Versions verified (2026-10-18)
All versions come from the GitHub releases API. Image tags were checked in the registries:
livekit/livekit-server:v1.13.10on Docker Hub;ghcr.io/element-hq/lk-jwt-service:0.9.0on GHCR.How each config block was checked
homeserver.yaml:msc4143_enabledandmsc4222_enabledflags are insynapse/config/experimental.py.msc3266_enabledwas removed in 1.153 (CHANGES.md), so it is left out.msc4143_enabledis set (synapse/rest/client/matrixrtc.py).urlandlivekit_service_urlsemantics come from the schema and from upgrade.md for 1.161.livekit.yaml:config-sample.yamlat v1.13.10.auto_createdefault oftrueand the warning for secrets under 32 characters come frompkg/config/config.go.OK(pkg/service/server.go).livekit-server(Dockerfile).src/config.rsat v0.9.0./sfu/get,/get_token,/healthz,/sfu_webhook) come fromsrc/handler.rs.can_publish).urlmust matchLIVEKIT_URL(require_matching_lk_url).src/main.rs)./livekit/jwt/prefix, because Element Call 0.28.0 calls/get_token(src/livekit/openIDSFU.ts). The guide's own Caddy and HAProxy examples miss that path..well-knownrtc_foci:RtcTransportAutoDiscovery.tsat each tag).CallStore.ts).MISSING_MATRIX_RTC_TRANSPORTbreakage.tools/gate.shreports 0. The unstableorg.matrix.msc4143/rtc/transportscurl example carriessnippet:skip, with the reason given (it is not in spec v1.19 and was checked in the Synapse source).tools/build.shpasses.Links checked
Every external link returned 200 with
curl -sIL -A 'Mozilla/5.0':Internal links and anchors are checked by the build.