2024-11-16 00:29:48 +01:00
|
|
|
---
|
|
|
|
gitea: none
|
|
|
|
include_toc: true
|
|
|
|
---
|
|
|
|
|
|
|
|
# Element-web
|
|
|
|
|
|
|
|
Element-web is the webinterface, Element in a browser. You'll find the source
|
|
|
|
and [documentation on installing and
|
|
|
|
configuring](https://github.com/element-hq/element-web/blob/develop/docs/install.md)
|
|
|
|
on Github.
|
|
|
|
|
|
|
|
You should never run Element-web on the same FQDN as your Synapse-server,
|
|
|
|
because of XSS problems. So start by defining a new FQDN for where you will
|
2024-12-04 12:07:59 +01:00
|
|
|
publish Element-web, and get a certificate for that (don't forget to
|
|
|
|
[automatically reload nginx after the certificate renewal](../nginx/README.md#certrenew)).
|
2024-11-16 00:29:48 +01:00
|
|
|
|
2024-11-27 18:33:42 +01:00
|
|
|
We'll use `element.example.com` here.
|
2024-11-16 00:29:48 +01:00
|
|
|
|
|
|
|
|
|
|
|
# Installing on Debian {#debian}
|
|
|
|
|
|
|
|
Installing it on Debian is very easy indeed:
|
|
|
|
|
|
|
|
```
|
|
|
|
wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
|
|
|
|
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" |
|
|
|
|
tee /etc/apt/sources.list.d/element-io.list
|
|
|
|
apt update
|
|
|
|
apt install element-web
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
# Configuration {#configuration}
|
|
|
|
|
2024-11-27 18:36:54 +01:00
|
|
|
Configuring is done in `config.json`, which needs to go into `/etc/element-web`
|
|
|
|
in a Debian install. See the [documentation on
|
2024-11-16 00:29:48 +01:00
|
|
|
Github](https://github.com/element-hq/element-web/blob/develop/docs/config.md).
|
|
|
|
|
2024-11-17 19:12:23 +01:00
|
|
|
The most important thing to change is the `default_server_config`. Make sure
|
|
|
|
it's something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
"default_server_config": {
|
|
|
|
"m.homeserver": {
|
2024-12-04 10:13:58 +01:00
|
|
|
"base_url": "https://matrix.example.com",
|
2024-11-27 18:33:42 +01:00
|
|
|
"server_name": "example.com"
|
2024-12-04 10:13:58 +01:00
|
|
|
}
|
2024-11-17 19:12:23 +01:00
|
|
|
},
|
|
|
|
```
|
|
|
|
|
2024-12-04 10:13:58 +01:00
|
|
|
Of course, substitute the correct domain and server name.
|
|
|
|
|
2024-11-17 19:12:23 +01:00
|
|
|
|
2024-11-28 23:04:09 +01:00
|
|
|
# Browser notes {#browsernotes}
|
|
|
|
|
2024-11-17 19:12:23 +01:00
|
|
|
Element-web runs in the browser, on JavaScript. Yours truly found out that
|
|
|
|
running [JShelter](https://jshelter.org/) throws a spanner in the works, so
|
|
|
|
you'll have to disable it for the URL you publish Element-web.
|
|
|
|
|
|
|
|
Also, Element-web is rather dependent on the version of your browser, so make
|
|
|
|
sure you keep yours up-to-date. Debian users, who run "Firefox ESR" should
|
|
|
|
know support for that is on a best effort basis, you might want to consider
|
|
|
|
using the "real" Firefox. [Debian packages are
|
|
|
|
available](https://support.mozilla.org/en-US/kb/install-firefox-linux#w_install-firefox-deb-package-for-debian-based-distributions-recommended).
|
|
|
|
|
2024-11-28 23:04:09 +01:00
|
|
|
Element Web uses "workers", that are not installed in private windows. One
|
|
|
|
thing that won't work in a private window, is downloading (i.e. displaying)
|
|
|
|
images. If you don't see avatars and get "failed to download" messages, check
|
|
|
|
if you're running Element Web in a private window.
|