summaryrefslogtreecommitdiff
path: root/hosts/cloud/proxy
diff options
context:
space:
mode:
authorGrisha Shipunov2025-02-05 18:11:49 +0000
committerGrisha Shipunov2025-02-06 00:41:52 +0000
commit877e806b3a3a6ea70277087ce7f660a4e9feaf83 (patch)
tree71cede76ab9b3670f7e16287ddd6467604c4938b /hosts/cloud/proxy
parentc1352fdd88f1f3932f117fbf765b63c142376867 (diff)
add conduwuit matrix server
Diffstat (limited to 'hosts/cloud/proxy')
-rw-r--r--hosts/cloud/proxy/conduwuit.nix45
-rw-r--r--hosts/cloud/proxy/default.nix1
2 files changed, 46 insertions, 0 deletions
diff --git a/hosts/cloud/proxy/conduwuit.nix b/hosts/cloud/proxy/conduwuit.nix
new file mode 100644
index 0000000..323590d
--- /dev/null
+++ b/hosts/cloud/proxy/conduwuit.nix
@@ -0,0 +1,45 @@
+{ self, ... }:
+let
+ proxy-conf = ''
+ client_max_body_size 50M;
+ proxy_buffering off;
+
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_set_header Access-Control-Allow-Origin *;
+
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+
+ proxy_read_timeout 600s;
+ proxy_send_timeout 600s;
+ send_timeout 600s;
+ '';
+
+in
+{
+ services.nginx.upstreams.conduwuit = {
+ servers = {
+ "10.89.88.16:6167" = { };
+ "[fd31:185d:722f::16]:6167" = { };
+ };
+ };
+
+ services.nginx.virtualHosts."oxapentane.com" = {
+ locations."/_matrix/" = {
+ proxyPass = "http://conduwuit$request_uri";
+ extraConfig = proxy-conf;
+ };
+ locations."/_conduwuit/" = {
+ proxyPass = "http://conduwuit$request_uri";
+ extraConfig = proxy-conf;
+ };
+ locations."/.well-known/matrix" = {
+ proxyPass = "http://conduwuit$request_uri";
+ extraConfig = proxy-conf;
+ };
+ };
+}
diff --git a/hosts/cloud/proxy/default.nix b/hosts/cloud/proxy/default.nix
index d092b02..e233e65 100644
--- a/hosts/cloud/proxy/default.nix
+++ b/hosts/cloud/proxy/default.nix
@@ -5,6 +5,7 @@ in
{
imports = [
./auth.nix
+ ./conduwuit.nix
./dav.nix
./git.nix
./immich.nix