gerd.element: inital add of element chat
This commit is contained in:
parent
61224dbc26
commit
d1a3353419
3 changed files with 16 additions and 21 deletions
|
@ -20,6 +20,7 @@
|
||||||
./gerd/services/nextcloud.nix
|
./gerd/services/nextcloud.nix
|
||||||
./gerd/services/stalwart
|
./gerd/services/stalwart
|
||||||
|
|
||||||
|
./gerd/services/element.nix
|
||||||
./gerd/services/matrix-synapse.nix
|
./gerd/services/matrix-synapse.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,28 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
svc_domain = ".${config.mine.shared.settings.domain}";
|
svc_domain = "chat.${config.mine.shared.settings.domain}";
|
||||||
|
|
||||||
|
# configure element web client
|
||||||
pkg_element = pkgs.element-web.override {
|
pkg_element = pkgs.element-web.override {
|
||||||
conf = {
|
conf = {
|
||||||
brand = "Fricloud chat";
|
default_theme = "dark";
|
||||||
default_server_config = {
|
features.feature_latex_maths = true;
|
||||||
"m.homeserver" = {
|
disable_guests = true;
|
||||||
"base_url" = "https://fricloud.dk";
|
|
||||||
server_name = "fricloud.dk";
|
|
||||||
};
|
|
||||||
"m.identity_server" = {
|
|
||||||
"base_url" = "https://vector.im";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
default_server_name = config.mine.shared.settings.domain;
|
||||||
|
};
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
services.nginx.virtualHosts."${svc_domain}" = {
|
services.nginx.virtualHosts."${svc_domain}" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
locations."/". = {
|
locations."/".root = pkg_element;
|
||||||
alias = "${pkg_element}/";
|
|
||||||
index = "index.html";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
mine.shared.meta.element = {
|
mine.shared.meta.element = {
|
||||||
name = "Element";
|
name = "Element";
|
||||||
description = "We host our own Element instance.";
|
description = "We host our own Element instance, get on it and start chatting!";
|
||||||
url = "https://${svc_domain}";
|
url = "https://${svc_domain}";
|
||||||
|
|
||||||
package = let
|
package = let
|
||||||
|
|
|
@ -182,6 +182,8 @@ in {
|
||||||
matrix-synapse-config-authelia-secret.owner = matrix_synapse_user;
|
matrix-synapse-config-authelia-secret.owner = matrix_synapse_user;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mine.shared.settings.matrix-synapse.domain = svc_domain;
|
||||||
|
|
||||||
mine.shared.meta.matrix-synapse = {
|
mine.shared.meta.matrix-synapse = {
|
||||||
name = "Matrix Synapse";
|
name = "Matrix Synapse";
|
||||||
description = "We host our own Matrix homeserver using Synapse! Login using your favourite which supports OpenID.";
|
description = "We host our own Matrix homeserver using Synapse! Login using your favourite which supports OpenID.";
|
||||||
|
|
Loading…
Reference in a new issue