Matrix: Difference between revisions
Add section about synapse admin |
→Desktop clients: Reword to make wording and presentation more neutral Tags: Mobile edit Mobile web edit |
||
| (One intermediate revision by one other user not shown) | |||
| Line 13: | Line 13: | ||
=== Desktop clients === | === Desktop clients === | ||
The clients <code>element-desktop</code> [https://element.io/] and <code>fractal</code> [https://gitlab.gnome.org/World/fractal] are known to work and are kept up to date. | |||
Other clients packaged in Nixpkgs, such as <code>matrix-commander</code>, <code>neochat</code>, <code>nheko</code>, depend on the insecure <code>olm</code> library susceptible to various security vulnerabilities.[https://nvd.nist.gov/vuln/detail/CVE-2024-45191][https://nvd.nist.gov/vuln/detail/CVE-2024-45193][https://nvd.nist.gov/vuln/detail/CVE-2024-45192] | |||
If this is not a concern, the guide to [https://nixos.org/manual/nixpkgs/stable/#sec-allow-insecure install insecure packages] may be followed. | |||
=== Web clients === | === Web clients === | ||
There is a web version of the client [https://element.io/ Element], <code>element-web</code> on Nixpkgs, which you can use as a regular web application. See [https://nixos.org/nixos/manual/index.html#module-services-matrix-element-web the NixOS manual entry].<syntaxhighlight lang="nixos"> | There is a web version of the client [https://element.io/ Element], <code>element-web</code> on Nixpkgs, which you can use as a regular web application. See [https://nixos.org/nixos/manual/index.html#module-services-matrix-element-web the NixOS manual entry].<syntaxhighlight lang="nixos"> | ||
| Line 165: | Line 166: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Livekit | |||
==== Synapse with Workers ==== | |||
There's an external module to automatically set up synapse and configure nginx with workers: | |||
https://github.com/dali99/nixos-matrix-modules | |||
==== Synapse Admin with Caddy ==== | |||
Setting up [https://github.com/etkecc/synapse-admin Synapse Admin] with [[Caddy]] is quite easy! | |||
The example uses the newer <code>pkgs.synapse-admin-etkecc</code> which may not be what you want if you have heard of the old one which is available at: <code>pkgs.synapse-admin</code> | |||
{{File|3={ pkgs, ... }: | |||
let | |||
synapse-admin = pkgs.synapse-admin-etkecc.withConfig { | |||
restrictBaseUrl = [ | |||
"https://matrix.example.com" # Synapse domain | |||
]; | |||
}; | |||
in | |||
{ | |||
services.caddy.virtualHosts."synapse-admin.example.com".extraConfig = '' | |||
root * ${synapse-admin} | |||
file_server | |||
''; | |||
}|name=/etc/nixos/configuration.nix|lang=nix}} | |||
== Homeserver Independent == | |||
=== Livekit === | |||
In order to set up element call or for calls to work in Element X it is necessary to set up and announce livekit. To set up livekit for matrix in nixos use<syntaxhighlight lang="nix" line="1"> | In order to set up element call or for calls to work in Element X it is necessary to set up and announce livekit. To set up livekit for matrix in nixos use<syntaxhighlight lang="nix" line="1"> | ||
{ config, lib, pkgs, ... }: let | { config, lib, pkgs, ... }: let | ||
| Line 235: | Line 261: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Application services (a.k.a. bridges) == | == Application services (a.k.a. bridges) == | ||