summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
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;
+ '';
+ };
+ };
+}