diff --git a/modules/nixos/services/homeserver/caddy.nix b/modules/nixos/services/homeserver/caddy.nix index a9ea0ed..1f6c8fe 100755 --- a/modules/nixos/services/homeserver/caddy.nix +++ b/modules/nixos/services/homeserver/caddy.nix @@ -95,6 +95,10 @@ import default-settings import cloudflare-tls + handle /.well-known/matrix/* { + reverse_proxy unix/${config.services.matrix-continuwuity.settings.global.unix_socket_path} + } + respond "{client_ip}" ''; }; diff --git a/modules/nixos/services/homeserver/continuwuity.nix b/modules/nixos/services/homeserver/continuwuity.nix new file mode 100644 index 0000000..c377d6d --- /dev/null +++ b/modules/nixos/services/homeserver/continuwuity.nix @@ -0,0 +1,36 @@ +{ config, ... }: + +{ + users.groups.continuwuity.members = [ "caddy" ]; + + services.caddy.virtualHosts."matrix.wo2wz.fyi".extraConfig = '' + import default-settings + import cloudflare-tls + + reverse_proxy unix/${config.services.matrix-continuwuity.settings.global.unix_socket_path} + ''; + + services.matrix-continuwuity = { + enable = true; + settings = { + global = { + address = null; + unix_socket_path = "/run/continuwuity/continuwuity.sock"; + unix_socket_perms = 660; + + server_name = "wo2wz.fyi"; + well_known = { + client = "https://matrix.wo2wz.fyi"; + server = "matrix.wo2wz.fyi:443"; + }; + + allow_registration = false; + allow_encryption = true; + allow_federation = true; + trusted_servers = [ "matrix.org" ]; + + new_user_displayname_suffix = ""; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/nixos/services/homeserver/default.nix b/modules/nixos/services/homeserver/default.nix index 8c58a48..0ed971d 100755 --- a/modules/nixos/services/homeserver/default.nix +++ b/modules/nixos/services/homeserver/default.nix @@ -6,6 +6,7 @@ ./restic ./caddy.nix ./cloudflared.nix + ./continuwuity.nix ./forgejo.nix ./gameserver-caddy.nix ./jellyfin.nix