| @@ -16,8 +16,9 @@ See the project's [documentation](https://github.com/element-hq/element-call) to | |||||
| ## Prerequisites | ## Prerequisites | ||||
| - A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) | - A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) | ||||
| - The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) | |||||
| - The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) (automatically done when Element Call is enabled) | |||||
| - A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). | - A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). | ||||
| - (Optional) Guest accounts being enabled for your Matrix server, if you'd like guests to be able to use Element Call. See [Allowing guests to use Element Call](#allowing-guests-to-use-element-call-optional) | |||||
| > [!WARNING] | > [!WARNING] | ||||
| > Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. | > Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. | ||||
| @@ -27,7 +28,7 @@ See the project's [documentation](https://github.com/element-hq/element-call) to | |||||
| All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them. | All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them. | ||||
| These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**. | These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**. | ||||
| 💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). | |||||
| 💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). Note that unless you [allow guest accounts to use Element Call](#allowing-guests-to-use-element-call-optional), you will still need a Matrix user account **on the same homeserver** to be able to use Element Call. | |||||
| The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**. | The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**. | ||||
| @@ -81,6 +82,28 @@ matrix_element_call_hostname: element-call.example.com | |||||
| > [!WARNING] | > [!WARNING] | ||||
| > A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084). | > A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084). | ||||
| ### Allowing guests to use Element Call (optional) | |||||
| By default, Element Call can only be used by people having accounts on your Matrix server. | |||||
| If you'd like guests to be able to use Element Call as well, you need to enable guest accounts support for your homeserver. | |||||
| > [!WARNING] | |||||
| > Enabling guest accounts means that your homeserver's user database may get polluted with guest account signups (potentially made by bots). | |||||
| > Guest accounts should be limited in what (damage) they can do to your server and the rest of the Matrix ecosystem, but it's better to not enable them unless necessary. | |||||
| For [Synapse](configuring-playbook-synapse.md) (the default homeserver implementation), the configuration is like this: | |||||
| ```yml | |||||
| matrix_synapse_allow_guest_access: true | |||||
| ``` | |||||
| For [Dendrite](configuring-playbook-dendrite.md), the configuration is like this: | |||||
| ```yml | |||||
| matrix_dendrite_guests_disabled: false | |||||
| ``` | |||||
| ## Installing | ## Installing | ||||
| After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below: | After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below: | ||||