diff options
Diffstat (limited to 'hosts/cloud')
| -rw-r--r-- | hosts/cloud/proxy/conduwuit.nix | 45 | ||||
| -rw-r--r-- | hosts/cloud/proxy/default.nix | 1 |
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 |
