From 33c5fed5e915172ff8fb760296b67a138b669fc0 Mon Sep 17 00:00:00 2001 From: kstro1 Date: Mon, 20 Oct 2025 13:41:47 +0300 Subject: [PATCH] Added section 'Software Updates' and corrected the term 'Matrix-RTC' to 'MatrixRTC'. --- README.md | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e0ab4ae..e06e76c 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# Matrix-RTC Back-End for Synapse with Docker Compose and Traefik +# MatrixRTC Back-End for Synapse with Docker Compose and Traefik ## Introduction -To enable audio and video calls for [Matrix](https://matrix.org/) clients such as Element X which implement the current Matrix specification, Matrix servers must provide a [Matrix-RTC](https://github.com/element-hq/element-call/blob/livekit/docs/self-hosting.md) back-end, comprised of [LiveKit](https://github.com/livekit/livekit) and [MatrixRTC Authorization Service](https://github.com/element-hq/lk-jwt-service) instances. +To enable audio and video calls for [Matrix](https://matrix.org/) clients such as Element X which implement the current Matrix specification, Matrix servers must provide a [MatrixRTC](https://github.com/element-hq/element-call/blob/livekit/docs/self-hosting.md) back-end, comprised of [LiveKit](https://github.com/livekit/livekit) and [MatrixRTC Authorization Service](https://github.com/element-hq/lk-jwt-service) instances. -While a number of guides explaining how to deploy a [Synapse](https://github.com/element-hq/synapse) Matrix server instance using Docker Compose and [Traefik](https://doc.traefik.io/traefik/) may be found on the internet, instructions for deploying a Matrix-RTC back-end using Traefik as a reverse proxy appear to have been so far unavailable as of the time of writing. This short guide is intended to fill that gap. +While a number of guides explaining how to deploy a [Synapse](https://github.com/element-hq/synapse) Matrix server instance using Docker Compose and [Traefik](https://doc.traefik.io/traefik/) may be found on the internet, instructions for deploying a MatrixRTC back-end using Traefik as a reverse proxy appear to have been so far unavailable as of the time of writing. This short guide is intended to fill that gap. -This repository contains a Docker Compose file and associated configuration files enabling the deployment of a Matrix-RTC back-end using Traefik as a reverse proxy. Cloning the repository (or copying the contents of the configuration files) onto a qualified server and performing the configuration described below should result in a functional Matrix-RTC back-end deployment. +This repository contains a Docker Compose file and associated configuration files enabling the deployment of a MatrixRTC back-end using Traefik as a reverse proxy. Cloning the repository (or copying the contents of the configuration files) onto a qualified server and performing the configuration described below should result in a functional MatrixRTC back-end deployment. Should you find an error in these instructions or encounter any problems and require assistance, feel free to send an e-mail to kstro1 at proton dot me. @@ -26,7 +26,7 @@ The instructions were tested with the following major software versions. ### DNS Records -In the domain name registrar's DNS admin panel, create a CNAME record for the Matrix-RTC back-end for the target domain name. +In the domain name registrar's DNS admin panel, create a CNAME record for the MatrixRTC back-end for the target domain name. Example: @@ -39,7 +39,7 @@ Example: As explained in the [official documentation](https://github.com/element-hq/element-call/blob/livekit/docs/self-hosting.md#a-matrix-homeserver), add the following content to Synapse's `homeserver.yaml` configuration file. ``` -# Configuration to enable new style calls using self-hosted Matrix-RTC back-end. +# Configuration to enable new style calls using self-hosted MatrixRTC back-end. # https://github.com/element-hq/element-call/blob/livekit/docs/self-hosting.md#a-matrix-homeserver experimental_features: @@ -97,17 +97,17 @@ docker compose up -d rm -rf ~/.config/Element ``` -### Matrix-RTC Back-End +### MatrixRTC Back-End This repository contains the following files: | File | Description | | --- | --- | -| docker-compose.yaml | Docker Compose file with Traefik labels facilitating the deployment of the Matrix-RTC back-end. | +| docker-compose.yaml | Docker Compose file with Traefik labels facilitating the deployment of the MatrixRTC back-end. | | .env | Contains the LiveKit secret. | | data/livekit/config.yaml | A sample LiveKit config file. | -Either clone the repository into a dedicated folder on the target server as documented below or simply add the contents of the configuration files to the existing configuration for the Synapse server instance. An advantage to taking the latter approach is that whenever the Docker containers for Synapse and the Matrix-RTC back-end are updated and restarted, they will be updated/restarted together. +Either clone the repository into a dedicated folder on the target server as documented below or simply add the contents of the configuration files to the existing configuration for the Synapse server instance. An advantage to taking the latter approach is that whenever the Docker containers for Synapse and the MatrixRTC back-end are updated and restarted, they will be updated/restarted together. Cloning the repository into the target directory on the server may be accomplished thus: @@ -159,7 +159,7 @@ docker compose logs | grep element-call-jwt ### Testing -The Matrix-RTC back-end may be tested using the rather convenient `testmatrix` Python package: https://codeberg.org/spaetz/testmatrix +The MatrixRTC back-end may be tested using the rather convenient `testmatrix` Python package: https://codeberg.org/spaetz/testmatrix Assuming that Python 3 is installed on your workstation, it may be installed as follows: @@ -189,11 +189,33 @@ curl -XPOST -d \ "https://synapse.example.com/_matrix/client/r0/login" ``` +### Software Updates + +Keeping the MatrixRTC instance up to date with the latest software may be accomplished by pulling the latest images listed in the table below for the corresponding tags. + +|Image|Tag| +--- | --- | +|ghcr.io/element-hq/lk-jwt-service|latest| +|livekit/livekit-server|latest| + +To perform a manual update, pulling the latest container image for each tag and rebuilding any out of date containers, execute the following commands: + +``` +docker compose pull +docker compose up -d +``` + +Obsolete images may be removed as follows: + +``` +docker image prune +``` + ### Troubleshooting #### General -At the time of writing, it is possible to configure a homeserver to use the Matrix-RTC back-end instance provided by Element by setting the `livekit_service_url` parameter in Synapse's `.well-known/matrix/client` config file to `https://jwt.call.element.io`. This may be useful for testing and debugging. +At the time of writing, it is possible to configure a homeserver to use the MatrixRTC back-end instance provided by Element by setting the `livekit_service_url` parameter in Synapse's `.well-known/matrix/client` config file to `https://jwt.call.element.io`. This may be useful for testing and debugging. #### Firewall