2023-07-13 16:39:27 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
...
|
2023-07-30 01:15:35 +02:00
|
|
|
}: let
|
|
|
|
caddyConfig = ''
|
|
|
|
reverse_proxy /_matrix/* localhost:6167
|
|
|
|
header /.well-known/matrix/* Content-Type application/json
|
|
|
|
header /.well-known/matrix/* Access-Control-Allow-Origin *
|
|
|
|
respond /.well-known/matrix/server `{"m.server": "m.jacekpoz.pl:443"}`
|
|
|
|
respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://m.jacekpoz.pl"}}`
|
|
|
|
'';
|
|
|
|
in {
|
2023-07-15 23:41:03 +02:00
|
|
|
services.matrix-conduit = {
|
|
|
|
enable = true;
|
2023-07-13 16:39:27 +02:00
|
|
|
|
2023-07-17 21:42:19 +02:00
|
|
|
package = inputs.conduit.packages.${pkgs.system}.default;
|
2023-07-17 20:03:22 +02:00
|
|
|
|
2023-07-15 23:41:03 +02:00
|
|
|
settings.global = {
|
|
|
|
server_name = "jacekpoz.pl";
|
|
|
|
database_backend = "rocksdb";
|
|
|
|
port = 6167;
|
2023-07-18 20:29:25 +02:00
|
|
|
max_request_size = 100000000;
|
2023-07-30 01:15:35 +02:00
|
|
|
rocksdb_max_open_files = 20;
|
2023-07-15 23:41:03 +02:00
|
|
|
};
|
2023-07-13 16:39:27 +02:00
|
|
|
};
|
|
|
|
|
2023-07-15 23:41:03 +02:00
|
|
|
services.caddy = {
|
|
|
|
enable = true;
|
2023-07-30 01:15:35 +02:00
|
|
|
virtualHosts."m.jacekpoz.pl".extraConfig = caddyConfig;
|
|
|
|
virtualHosts."jacekpoz.pl:8448".extraConfig = caddyConfig;
|
2023-07-15 23:41:03 +02:00
|
|
|
};
|
2023-07-13 16:39:27 +02:00
|
|
|
|
2023-07-30 01:15:35 +02:00
|
|
|
networking.firewall.allowedTCPPorts = [ 80 443 6167 8448 ];
|
|
|
|
networking.firewall.allowedUDPPorts = [ 80 443 6167 8448 ];
|
2023-07-13 16:39:27 +02:00
|
|
|
}
|