let net = import ./network.nix; services = import ./services.nix; web = import ../intermediate/web.nix; in [ { type = "web"; domain = net.devices.remote_proxy.domain; endpoint = "/"; force_ssl = true; port = 443; content = web.storePayloads.home; } { type = "proxy"; domain = net.devices.remote_proxy.domain; endpoint = "/_matrix/"; force_ssl = true; port = 443; content = { type = "service"; ip = net.devices.pi.ip; port = services.continuwuity.port; proxyWebsockets = true; }; } { type = "proxy"; domain = net.devices.remote_proxy.domain; endpoint = "/_matrix/"; force_ssl = true; port = 8448; content = { type = "service"; ip = net.devices.pi.ip; port = services.continuwuity.port; proxyWebsockets = true; }; } { type = "inline"; domain = net.devices.remote_proxy.domain; endpoint = "/.well-known/matrix/server"; force_ssl = true; port = 443; content = { contentType = "application/json"; status = 200; body = ''{"m.server":"${net.devices.remote_proxy.domain}:443"}''; }; } { type = "inline"; domain = net.devices.remote_proxy.domain; endpoint = "/.well-known/matrix/client"; force_ssl = true; port = 443; content = { contentType = "application/json"; status = 200; body = ''{"m.homeserver":{"base_url":"https://${net.devices.remote_proxy.domain}"}}''; }; } { type = "proxy"; domain = "torrent.${net.local_domain}"; endpoint = "/"; force_ssl = false; port = 80; content = { type = "service"; ip = net.devices.pi.ip; port = services.qbittorrent.port; proxyWebsockets = false; }; } { type = "proxy"; domain = "wiki.${net.local_domain}"; endpoint = "/"; force_ssl = false; port = 80; content = { type = "service"; ip = net.devices.pi.ip; port = services.kiwix.port; proxyWebsockets = true; }; } ]