summary refs log tree commit diff
path: root/services
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-08-18 15:50:56 +0200
committerMel <mel@rnrd.eu>2025-08-18 15:51:06 +0200
commita76a5e9fad265f281c55b5e4a80ae97d9f234cc7 (patch)
treef3c3c77c0fbec7e6d6da2546b27780cfd0b3c94f /services
parentdcc5f8e5624919c887969343fc9b743b88c60ce7 (diff)
downloadnetwork-a76a5e9fad265f281c55b5e4a80ae97d9f234cc7.tar.zst
network-a76a5e9fad265f281c55b5e4a80ae97d9f234cc7.zip
Migrate Matrix from conduwuit to continuwuity, now on renard
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'services')
-rw-r--r--services/conduwuit.nix70
-rw-r--r--services/matrix.nix87
2 files changed, 87 insertions, 70 deletions
diff --git a/services/conduwuit.nix b/services/conduwuit.nix
deleted file mode 100644
index 03b0dcb..0000000
--- a/services/conduwuit.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ config, pkgs, auxiliaryPkgs, ... }:
-
-let
-  inherit (pkgs) conduwuit dockerTools;
-  inherit (auxiliaryPkgs) common;
-
-  conduwuitLocalPort = 2123;
-  conduwuitDir = "/srv/conduwuit";
-
-  conduwuitImage = dockerTools.streamLayeredImage {
-    name = "conduwuit";
-    tag = conduwuit.version;
-    fromImage = common.alpine.base;
-
-    contents = [ conduwuit ];
-  };
-
-in
-{
-  age.secrets.conduwuit-registration-token = {
-    file = ../secrets/conduwuit-registration-token.age;
-  };
-
-  foundation.service.conduwuit = {
-    conduwuit = {
-      image = conduwuitImage;
-      ports = [ conduwuitLocalPort ];
-
-      volumes = [
-        [ "${conduwuitDir}/db" "/var/lib/conduwuit" ]
-        [ "${conduwuitDir}/conduwuit.toml" "/etc/conduwuit/conduwuit.toml" ]
-        [
-          "${config.age.secrets.conduwuit-registration-token.path}"
-          "/etc/conduwuit/registration-itoken"
-        ]
-      ];
-
-      environment = {
-        CONDUWUIT_CONFIG = "/etc/conduwuit/conduwuit.toml";
-      };
-
-      entrypoint = "${conduwuit}/bin/conduit";
-    };
-  };
-
-  services.nginx.virtualHosts = {
-    "matrix.rnrd.eu" = let
-      proxySettings = { proxyPass = "http://127.0.0.1:${toString conduwuitLocalPort}"; };
-    in
-    {
-      useACMEHost = "rnrd.eu";
-      forceSSL = true;
-
-      locations."/" = proxySettings;
-      locations."/_matrix" = proxySettings;
-      locations."/_conduwuit" = proxySettings;
-
-      extraConfig = ''
-        client_max_body_size 20M;
-
-        proxy_connect_timeout 600;
-        proxy_send_timeout 600;
-        proxy_read_timeout 600;
-        send_timeout 600;
-
-        access_log /var/log/nginx/conduwuit.access.log json_combined;
-      '';
-    };
-  };
-}
diff --git a/services/matrix.nix b/services/matrix.nix
new file mode 100644
index 0000000..3586cc8
--- /dev/null
+++ b/services/matrix.nix
@@ -0,0 +1,87 @@
+{
+  config,
+  pkgs,
+  unstablePkgs,
+  auxiliaryPkgs,
+  ...
+}:
+
+let
+  inherit (pkgs) dockerTools;
+  inherit (unstablePkgs) matrix-continuwuity;
+  inherit (auxiliaryPkgs) common;
+
+  continuwuityLocalPort = 2123;
+  continuwuityDir = "/srv/matrix";
+
+  continuwuityImage = dockerTools.streamLayeredImage {
+    name = "continuwuity";
+    tag = matrix-continuwuity.version;
+    fromImage = common.alpine.base;
+
+    contents = [ matrix-continuwuity ];
+  };
+
+in
+{
+  age.secrets.continuwuity-registration-token = {
+    file = ../secrets/continuwuity-registration-token.age;
+  };
+
+  foundation.service.continuwuity = {
+    continuwuity = {
+      image = continuwuityImage;
+      ports = [ continuwuityLocalPort ];
+
+      volumes = [
+        [
+          "${continuwuityDir}/db"
+          "/var/lib/continuwuity"
+        ]
+        [
+          "${continuwuityDir}/continuwuity.toml"
+          "/etc/continuwuity/continuwuity.toml"
+        ]
+        [
+          "${config.age.secrets.continuwuity-registration-token.path}"
+          "/etc/continuwuity/registration-token"
+        ]
+      ];
+
+      environment = {
+        CONDUWUIT_CONFIG = "/etc/continuwuity/continuwuity.toml";
+      };
+
+      entrypoint = "${matrix-continuwuity}/bin/conduwuit";
+    };
+  };
+
+  services.nginx.virtualHosts = {
+    "matrix.rnrd.eu" =
+      let
+        proxySettings = {
+          proxyPass = "http://127.0.0.1:${toString continuwuityLocalPort}";
+        };
+      in
+      {
+        useACMEHost = "rnrd.eu";
+        forceSSL = true;
+
+        locations."/" = proxySettings;
+        locations."/_matrix" = proxySettings;
+        locations."/_conduwuit" = proxySettings;
+        locations."/_continuwuity" = proxySettings;
+
+        extraConfig = ''
+          client_max_body_size 20M;
+
+          proxy_connect_timeout 600;
+          proxy_send_timeout 600;
+          proxy_read_timeout 600;
+          send_timeout 600;
+
+          access_log /var/log/nginx/matrix.access.log json_combined;
+        '';
+      };
+  };
+}