matrix-docker-ansible-deploy/docs/configuring-playbook-jitsi.md
Slavi Pantaleev 9970603f15 Add Element Call support
This is an initial implementaton that's hasn't been battle-tested much.

Our LiveKit Server setup by default doesn't enable TURN, so connectivity
for NAT-ed clients may be subpar.

Squashed commit of the following:

commit d5c24fcafe
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:31:48 2025 +0200

    Upgrade LiveKit Server (v1.8.4-1 -> v1.8.4-2)

commit 4d61cc571b
Merge: 9c24064fb 9a231a815
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:19:05 2025 +0200

    Merge branch 'master' into element-call-integration

commit 9c24064fb6
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:14:49 2025 +0200

    Make Element Call fail during validation if on an unsupported architecture (like arm32)

commit a757b515fb
Merge: ba9cedbed 2a6b746ac
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:11:16 2025 +0200

    Merge branch 'master' into element-call-integration

commit ba9cedbeda
Merge: 4a638c2df f8f7ffc7d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:03:03 2025 +0200

    Merge branch 'master' into element-call-integration

commit 4a638c2df3
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:52:04 2025 +0200

    Prepare Element Call announcement text on the changelog

commit 155d5dad38
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:49:49 2025 +0200

    Mention the compatible clients on Element Call docs, more cross-linking & consistency fixes

commit 6b8a3fc891
Merge: 3ea1ea2f3 95dcaf6e2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:38:02 2025 +0200

    Merge branch 'master' into element-call-integration

commit 3ea1ea2f34
Merge: d3913a015 60e2e035a
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 22:29:14 2025 +0200

    Merge branch 'master' into element-call-integration

commit d3913a015e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 20:04:18 2025 +0200

    Upgrade LiveKit Server (v1.8.4-0 -> v1.8.4-1)

commit ac7f96806d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:58:09 2025 +0200

    Relocate the livekit-server Ansible role to its own repository in the MASH organization

commit b8d800f6ef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:37:29 2025 +0200

    Add "Federation" as a prerequisite for Element Call (indirect, via LiveKit JWT Service)

    Ref:
    - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554
    - f5f5374c4b/main.go (L135-L146)

commit 2c1c49444a
Merge: 6bc0185d5 8e883a555
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:32:48 2025 +0200

    Merge branch 'master' into element-call-integration

commit 6bc0185d50
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Mar 13 09:43:22 2025 +0200

    Add Element Call, LiveKit Server and LiveKit JWT Service to `README.md`

    Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2720039742

commit a0470fe248
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:12:30 2025 +0200

    Minor rewording in LiveKit Server docs

commit d4ceebc6a9
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:12:22 2025 +0200

    Add Element Call, LiveKit Server and LiveKit JWT Service to `docs/container-images.md`

commit 6a86de958f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:05:51 2025 +0200

    Apply suggestions from code review

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit d9df022d55
Merge: 676f9dd9a 2f30886b1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 18:40:31 2025 +0200

    Merge branch 'master' into element-call-integration

commit 676f9dd9ad
Merge: 251561ff8 2be709e2c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 18:00:45 2025 +0200

    Merge branch 'master' into element-call-integration

commit 251561ff81
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:47:01 2025 +0200

    Simplify LiveKit Server role by removing unused/untested HTTP middleware variables

commit 1e60f41a59
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:44:00 2025 +0200

    Restore Element Call HTTP headers to more secure/privacy-respecting values

commit f8e84c4b2f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:43:34 2025 +0200

    Remove useless `matrix_element_call_port` variable

commit 3f5e8f656b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:35:30 2025 +0200

    Switch default LiveKit server endpoint to one under the `matrix.` domain and polish-up docs

commit 72118f2f03
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 16:56:06 2025 +0200

    Fix LiveKitServer middlware name (`matrix-livekit-server-server-slashless-redirect` -> `matrix-livekit-server-slashless-redirect`)

commit 585377975b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 16:51:10 2025 +0200

    Adjust LiveKit Server ports and exposure

commit 22ef579444
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 15:44:31 2025 +0200

    Make livekit-jwt-service communicate with livekit-server via public URLs

    Communicating via container URLs works, but the URL provided to
    livekit-jwt-service as `LIVEKIT_URL` is also passed to the user later
    and it must be a public one at that point.

    It'd be great if livekit-jwt-service can be given 2 different URLs
    (e.g. `LIVEKIT_URL` and `LIVEKIT_URL_PUBLIC`) and only announce the
    public one to the user, but there's no support for this yet.

commit 32f8c6de6e
Merge: 370feb740 79cc333be
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 15:27:42 2025 +0200

    Merge branch 'master' into element-call-integration

commit 370feb740f
Merge: 9a11e5e1f a9ee537f8
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 10:04:19 2025 +0200

    Merge branch 'master' into element-call-integration

commit 9a11e5e1fe
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:19:03 2025 +0200

    Auto-enable experimental Synapse features required by Element Call when Element Call is enabled

commit 8291b2f99d
Merge: 890f10f76 c5a03efdf
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:14:50 2025 +0200

    Merge branch 'master' into element-call-integration

commit 890f10f765
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:01:35 2025 +0200

    Make `matrix_livekit_jwt_service_public_url` respect `matrix_livekit_jwt_service_path_prefix`

commit 031cf68cbb
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:59:50 2025 +0200

    Remove unused `matrix_element_call_metrics_*` variables

commit 5961841e52
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:59:05 2025 +0200

    Make matrix-livekit-jwt-service role not reference foreign variables (except the matrix-base ones)

commit 2be4923aef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:56:15 2025 +0200

    Make Element Call role not reference foreign variables (except the matrix-base ones)

commit 23efad9cb7
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:51:52 2025 +0200

    Rework Element Call config.json templating

commit 6b55ba29ab
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:46:11 2025 +0200

    Make Element Call refuse a path prefix other than `/`

commit 0d1112638d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:05:42 2025 +0200

    Update LiveKit JWT service path prefix (`/lk-jwt-service` -> `/livekit-jwt-service`)

commit c3c2ba34b4
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:02:29 2025 +0200

    Split `matrix_element_call_systemd_required_services_list` into `_default`, `_auto` and `_custom`

commit 0215708f79
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:00:28 2025 +0200

    Remove some useless variables and rework environment variables variable for livekit-jwt-service

commit e1b57f3d45
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:56:47 2025 +0200

    Pin livekit-jwt-service to released (v0.2.0) and adapt configuration

commit de2a8f11d2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:46:51 2025 +0200

    `_name_prefix` -> `_registry_prefix` changes for LiveKit roles

commit 2a69ca35be
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:42:40 2025 +0200

    Clean up Element Call group vars vs defaults/main.yml mixup and make some minor LiveKit updates

commit 72d64cfa6b
Merge: f161c7c58 5dfbefd64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:03:53 2025 +0200

    Merge branch 'master' into element-call-integration

commit f161c7c58f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:03:00 2025 +0200

    Add newlines at end of files

commit 6c6b44dc25
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:58:00 2025 +0200

    Add license information to Element Call and LiveKit roles

commit 8eb1c57e2b
Merge: 61069d631 aa36acdef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:36:48 2025 +0200

    Merge branch 'master' into element-call-integration

commit 61069d6313
Merge: 74d6a99b1 0b9389fd6
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:34:00 2025 +0200

    Merge branch 'element-call-integration' of github.com:wjbeckett/matrix-docker-ansible-deploy into element-call-integration

commit 74d6a99b1e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:32:22 2025 +0200

    Adjust names for Element Call tasks and make uninstallation more consistent with other roles

commit 81a30f17ac
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:29:39 2025 +0200

    Remove some superficial comments

commit 413d591562
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:27:11 2025 +0200

    Bring container-network-creation tasks up-to-date for Element Call and LiveKit-related services

commit 7572522820
Merge: 564275527 5ece1fea5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:24:34 2025 +0200

    Merge branch 'master' into element-call-integration

commit 0b9389fd64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:52 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 9a8a569431
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:29 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit bb403e1aee
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:15 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 74fbacbd9f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:42:54 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 5642755273
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 16:40:50 2024 +0200

    Rework LiveKit JWT Service role

commit bb925f4782
Merge: c57d0d192 ca8c1cf2b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 14:45:20 2024 +0200

    Merge branch 'master' into element-call-integration

commit c57d0d192d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:45:07 2024 +0200

    Eliminate remaining matrix references from LiveKit Server role

commit 006920882c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:38:23 2024 +0200

    Rename file (element-call-labels -> labels)

commit 69d702643f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:36:55 2024 +0200

    Remove homeserver.yaml patching from Element Call role

commit 252ca52f60
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:32:15 2024 +0200

    Relocate /.well-known/element/element.json setup to matrix-static-files, instead of ugly patching from the Element Call role

commit 3f52cec25c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:17:30 2024 +0200

    Relocate Element Web features & element_call configuration to Element role, instead of ugly patching from the Element Call role

commit 7a6fcaa402
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:59:11 2024 +0200

    Fix typo

commit 394fdca066
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:54:29 2024 +0200

    Relocate org.matrix.msc4143.rtc_foci setup to /.well-known/matrix/client to matrix-static-files instead of ugly patching

commit f0466d5a99
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:19:36 2024 +0200

    Make LiveKit Server configuration extensible

commit be7271760e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:13:07 2024 +0200

    Make LiveKit Server logging config configurable

commit 8b84eb6390
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:04:53 2024 +0200

    Default LiveKit Server to a smaller RTC range for faster startup on non-host networks

commit 3e86adac0d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:00:43 2024 +0200

    Fix port exposure for LiveKit Server

commit 721fb39aa2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 17:28:06 2024 +0200

    More progress on the LiveKit role

commit 783d4a23f8
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:54:45 2024 +0200

    Add livekit_server_identifier

commit fa4ebd2a64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:37:01 2024 +0200

    Cleanups

commit 79ae704a24
Merge: 88d466845 c07b09390
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:31:50 2024 +0200

    Merge branch 'element-call-integration' of github.com:wjbeckett/matrix-docker-ansible-deploy into element-call-integration

commit c07b093902
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:34 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit c321ca160e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:26 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 164be875b0
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:15 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 0f23e36e12
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:05 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 83bb546c64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:55 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 3783922275
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:47 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 66cc36466c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:36 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit ec41c1aba5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:28 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit df6ef106d1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:18 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit eb048da8a1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:06 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit ccb29beb30
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:56 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 32ea60fdc5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:44 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 25a8cb3b4a
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:17 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 55da5c3213
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:21:55 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 925ebfbd4b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:21:42 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 88d4668450
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:16:43 2024 +0200

    Variable rename (livekit_server_image -> livekit_server_container_image) for consistency with other roles

commit 1838a541ae
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:15:54 2024 +0200

    Variables rename (matrix_livekit_server_ -> livekit_server_) to prepare for role extraction

commit 1e82530080
Merge: 82127830b 0c9fc4358
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:59:56 2024 +0200

    Merge branch 'master' into element-call-integration

commit 82127830b3
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:58:01 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/uninstall.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 85c0ffa9e1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:51 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/uninstall.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit b691f39d39
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:44 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/install.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 10df145101
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:31 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/install.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit fa2a913d39
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 16:20:54 2024 +1000

    fixing issue with element call domain not being expanded when writing the element web config.json.

commit e18b28136c
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 15:28:56 2024 +1000

    Updated Element call docs with dependent services and fixed typo.

commit 1906d61c39
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 13:25:40 2024 +1000

    updated traefik label to be in line with the latest change from devture_traefik_ to traefik_

commit b7e0a41134
Merge: a03f5985a d9a919a4b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Oct 3 13:20:02 2024 +1000

    Merge branch 'spantaleev:master' into element-call-integration

commit a03f5985a5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 12:38:34 2024 +1000

    removed trailing whitespaces

commit 1e6698cb99
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Oct 2 13:27:02 2024 +1000

    updated documentation or the new roles.

commit f684719b2a
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 22:30:09 2024 +1000

    fixed error with element client update task

commit a6e3203398
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 22:20:50 2024 +1000

    updated docs, broke the well-known and element client modifications out to separate tasks.

commit 2b4fdea70f
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 17:04:11 2024 +1000

    added header flags back in.

commit 6c8923ae28
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:51:06 2024 +1000

    removed headers.

commit 9691577b22
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:45:07 2024 +1000

    removed additinoal headers

commit 46109565e1
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:33:48 2024 +1000

    updated headers for each of the call services.

commit 4acb025130
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:35:53 2024 +1000

    testing livekit configuration

commit e421852af5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:09:00 2024 +1000

    updated jwt bind port

commit 5507fb3bab
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:08:21 2024 +1000

    added element-call config.json to systemd file

commit 9864996aad
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:46:37 2024 +1000

    adjusted jwt service ports for traefik

commit dbbaae4fbe
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:34:25 2024 +1000

    stopping the recursive loop

commit d53c2428b8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:29:35 2024 +1000

    updated jwt hostname.

commit f98a505df8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 11:00:56 2024 +1000

    changed jwt-service port label.

commit d5aabc85be
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:41:30 2024 +1000

    removed redis images in favor of the inbuilt keyDB

commit 7cdec5f251
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:17:34 2024 +1000

    fixed type in livekit image

commit fd2f505b34
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:00:30 2024 +1000

    Fixed typo in livekit server hostname

commit 812b57cfaa
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:54:02 2024 +1000

    resolved missing key.

commit b7b8ed573b
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:48:44 2024 +1000

    typo in livekit-server validate.

commit 97f93ebd76
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:31:42 2024 +1000

    renamed the livekit role and added livekit-server and jwt-service roles to the setup file.

commit 8cb7deff15
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 23:04:10 2024 +1000

    cleaned up old services again

commit 71dff50a65
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:53:21 2024 +1000

    fixed livekit service name

commit 58a9642e8c
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:45:56 2024 +1000

    fixed config file placement.

commit 3de399025f
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:41:36 2024 +1000

    hard coded redis port.

commit e952ba1c3a
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:35:59 2024 +1000

    removed duplicate tasks.

commit 8cb3e33bbf
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:20:46 2024 +1000

    separated livekit and jwt to separate roles

commit b907777ae5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 13:13:29 2024 +1000

    fixing labels again.

commit cb41fb02ae
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 13:00:10 2024 +1000

    testing traefik labels again.

commit 31a138a6ba
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:47:42 2024 +1000

    fixed traefik router issues.

commit 6143ad7ffa
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:27:04 2024 +1000

    fix: removed the read-only tag from the element-call systemd file.

commit f762048a8d
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:15:27 2024 +1000

    fix: added missing labels to main.

commit 93650cf20e
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:02:45 2024 +1000

    fix: Type in the element-call main.yml

commit 9dbee212d8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:37:08 2024 +1000

    fix: removed duplicate keys.

commit 1167e1ec13
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:17:34 2024 +1000

    fix: changed matrix server name to matrix domain in element-call config.

commit f036e18789
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:05:11 2024 +1000

    Fix: Restructured Element call configuration files.

commit a274d32c6d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:50:31 2024 +1000

    Removed serve function

commit 5db9a5c061
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:40:37 2024 +1000

    Removed env file

commit 2492672025
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:39:39 2024 +1000

    Update env.j2

commit a0917fa283
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:37:36 2024 +1000

    Update main.yml

commit 8b172cc194
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:35:38 2024 +1000

    Update env.j2

commit 63133d6599
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 11:53:26 2024 +1000

    Added serve command back in.

commit 5b8dcf32d5
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 11:42:34 2024 +1000

    Added element-call systemd services to the service manager.

commit 14614cb211
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:26:01 2024 +1000

    Update matrix-element-call.service.j2

commit 3c084e17d2
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:15:51 2024 +1000

    Update element-call-labels.j2-new

commit 089c5f14c8
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:00:40 2024 +1000

    Update jwt-service-labels.j2

commit b6571fc4fd
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:59:54 2024 +1000

    Update livekit-labels.j2

commit 6d6f9ab853
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:59:13 2024 +1000

    Added hostnames for livekit and jwt labels

commit 5730dbfc6e
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:54:01 2024 +1000

    Added hostname label

commit c14f9cdcb5
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:25:48 2024 +1000

    Update matrix_servers

commit 805b726c6d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:25:01 2024 +1000

    Update element-call-labels.j2

commit 5f49433f6c
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:15:21 2024 +1000

    Handle empty labels correctly.

commit 510cfb2dac
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:14:29 2024 +1000

    Update matrix_servers

commit 1721e85195
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:00:03 2024 +1000

    Corrected element call labels file name

commit 25909b1029
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:51:27 2024 +1000

    Update and rename labels.j2 to element-call-labels.j2

commit 3264408758
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:49:55 2024 +1000

    Rename element-call-labels.j2 to element-call-labels.j2-new

commit dd96b93d89
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:34:01 2024 +1000

    Update matrix-element-call.service.j2

commit df4bf4a0c9
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:23:24 2024 +1000

    Added tasks for moving the new labels files into place

commit 2f2cb8962e
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:19:26 2024 +1000

    Updated livekit labels

commit d2e2781d3b
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:18:27 2024 +1000

    Updated label file

commit 80763804f9
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:16:56 2024 +1000

    Updated label file

commit 1d7a60055c
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:10:06 2024 +1000

    Create jwt-service-labels.j2

commit 2cf471075d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:09:32 2024 +1000

    Created livekit-labels.j2

commit 6a519bb053
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:08:42 2024 +1000

    Created element-call-labels to separate the labels for each container

commit f0632b20eb
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 21:24:43 2024 +1000

    Added missing labels for sfu and jwt

commit 5cc9c70ba6
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 20:57:47 2024 +1000

    Remove serve command from matrix-element-call.service.j2

commit e34e5da9a4
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:57:39 2024 +1000

    Update matrix-redis.service.j2

commit 656d4275bc
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:48:06 2024 +1000

    Update install.yml

commit 6ef304b118
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:43:22 2024 +1000

    Update validate_config.yml

commit 85be68946c
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:30:15 2024 +1000

    Migrated from matrix_redis to redis_

commit 3f6c327da2
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:18:47 2024 +1000

    Update main.yml

commit ba54e549c4
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:08:09 2024 +1000

    Added well-known element directory

commit f2acc7430d
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:53:49 2024 +1000

    Create well_known_element.json.j2

commit 9cb236da30
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:50:48 2024 +1000

    Update install.yml

commit f38d6a0d88
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:39:03 2024 +1000

    Update main.yml

commit ac1295ac45
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:33:22 2024 +1000

    Create matrix-jwt-service.service.j2

commit bc2ed60762
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 17:23:03 2024 +1000

    Update main.yml

commit f7621283fd
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 16:31:23 2024 +1000

    Update labels.j2

commit e31e688a41
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:42:05 2024 +1000

    Update main.yml

commit a533ec4204
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:38:12 2024 +1000

    Update matrix_servers

commit f16ca24408
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:17:15 2024 +1000

    Update install.yml

commit e910d09ff1
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 14:52:30 2024 +1000

    Create matrix-redis.service.j2

commit bc9658c06b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 13:40:38 2024 +1000

    Create matrix-livekit.service.j2

commit 45c8a61f04
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 11:39:33 2024 +1000

    Migrating to systemd for container management

commit 954d46cfd7
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:25:49 2024 +1000

    Update labels.j2

commit dfeca192ab
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:23:26 2024 +1000

    Update redis.conf.j2

commit f306a47b83
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:22:29 2024 +1000

    Update livekit.yaml.j2

commit becdb0810c
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:18:55 2024 +1000

    Update config.json.j2

commit 37fd2e701d
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:15:07 2024 +1000

    Update env.j2 to support the new configuration

commit 68cc1f4b2b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 08:29:16 2024 +1000

    Simplified the validation step.

commit 5efc189293
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 08:12:06 2024 +1000

    Updated to support new structure

commit 02479e8bec
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 07:59:09 2024 +1000

    Updated with new structure.

commit 0eef094f2b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 06:51:36 2024 +1000

    Restructure install.yml to follow other roles more closely

commit 16ed788b3f
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 21:07:22 2024 +1000

    Update main.yml

commit 6364101410
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 20:20:20 2024 +1000

    Adding another debug task for testing the labels file.

commit 81735503f8
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 20:06:27 2024 +1000

    Added debug task to test labels configuration

commit 8644a7383e
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:22:21 2024 +1000

    Removed additional label loop

commit ce827e7953
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:09:13 2024 +1000

    Changed matrix_base_domain to matrix_domain

commit c93d30bcb8
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:07:03 2024 +1000

    Added matrix_server_name to the defaults

commit 90ea758c3b
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:39:26 2024 +1000

    Fixed regex for checking the hostname.

commit 350d4d4bcd
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:35:09 2024 +1000

    Fixed assertion block to remove jinja2 delimiters

commit fc6357a089
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:05:34 2024 +1000

    Update main.yml

commit 60f34cd7af
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 16:13:29 2024 +1000

    fixed matrix_redis for migration

commit d1ba784dde
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 15:01:53 2024 +1000

    added doc for setting up element call.

commit 434157eb98
Merge: 6594cce57 f657273cc
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 14:55:42 2024 +1000

    Merge branch 'spantaleev:master' into element-call-integration

commit 6594cce570
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 14:53:48 2024 +1000

    Feat: Added element call setup and configuration.
2025-03-15 08:34:48 +02:00

8.4 KiB

Setting up the Jitsi video-conferencing platform (optional)

The playbook can install and configure the Jitsi video-conferencing platform for you.

Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients (Element Web/Desktop, Android and iOS) as a widget, but also be used as standalone web app.

💡 If you're into experimental technology, you may also be interested in trying out Element Call - a native Matrix video conferencing application.

The Ansible role for Jitsi is developed and maintained by the MASH (mother-of-all-self-hosting) project. For details about configuring Jitsi, you can check them via:

Prerequisites

Before proceeding, make sure to check server's requirements recommended by the official deployment guide.

You may need to open some ports to your server, if you use another firewall in front of the server. Refer the role's documentation to check which ones to be configured.

Adjusting DNS records

By default, this playbook installs Jitsi on the jitsi. subdomain (jitsi.example.com) and requires you to create a CNAME record for jitsi, which targets matrix.example.com.

When setting, replace example.com with your own.

Adjusting the playbook configuration

To enable Jitsi, add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml file:

########################################################################
#                                                                      #
# jitsi                                                                #
#                                                                      #
########################################################################

jitsi_enabled: true

########################################################################
#                                                                      #
# /jitsi                                                               #
#                                                                      #
########################################################################

As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Jitsi on your Matrix server with this minimum configuration.

However, since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment. You can check here for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs (Jitsi VideoBridge). See here for details about setting them up with the playbook.

See the role's documentation for details about configuring Jitsi per your preference (such as setting a custom hostname and the environment variable for running Jitsi in a LAN).

Enable authentication and guests mode (optional)

By default the Jitsi Meet instance does not require for anyone to log in, and is open to use without an account.

If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode.

See this section on the role's documentation for details about how to configure the authentication and guests mode. The recommended authentication method is internal as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of Matrix User Verification Service (UVS), see here for details about how to set it up.

Enable Gravatar (optional)

In the default Jisti Meet configuration, gravatar.com is enabled as an avatar service.

Since the Element clients send the URL of configured Matrix avatars to the Jitsi instance, our configuration has disabled the Gravatar service.

To enable the Gravatar service nevertheless, add the following configuration to your vars.yml file:

jitsi_disable_gravatar: false

Warning

This will result in third party request leaking data to the Gravatar Service (gravatar.com, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (via referrer header) will be also sent to the third party.

Installing

After configuring the playbook and potentially adjusting your DNS records, run the playbook with playbook tags as below:

ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start

The shortcut commands with the just program are also available: just install-all or just setup-all

just install-all is useful for maintaining your setup quickly (2x-5x faster than just setup-all) when its components remain unchanged. If you adjust your vars.yml to remove other components, you'd need to run just setup-all, or these components will still remain installed. Note these shortcuts run the ensure-matrix-users-created tag too.

Usage

You can use the self-hosted Jitsi server in multiple ways:

  • by adding a widget to a room via Element Web (the one configured by the playbook at https://element.example.com). Just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server.

  • directly (without any Matrix integration). Just go to https://jitsi.example.com, and you can start a videoconference.

Note that you'll need to log in to your Jitsi's account to start a conference if you have configured authentication with internal auth.

Check the official user guide for details about how to use Jitsi.

Troubleshooting

See this section on the role's documentation for details.