{ pkgs, config, ... }:
let
baseUrl = "https://${config.networking.domain}";
in
{
services.matrix-synapse = {
enable = true;
settings = {
server_name = config.networking.domain;
public_baseurl = baseUrl;
enable_registration = false;
trusted_key_servers = [{ server_name = "matrix.org"; }
server_name = "tchncs.de";
}];
suppress_key_server_warning = true;
enable_registration_without_verification = true;
max_upload_size = "9861M";
listeners = [
port = 8008;
bind_addresses = [ "0.0.0.0" ];
type = "http";
tls = false;
x_forwarded = true;
resources = [{
names = [ "client" "federation" ];
compress = true;
}
];
# TODO add sliding sync
server_notices = {
system_mxid_localpart = "server";
system_mxid_display_name = "Server Notices";
room_name = "Server Notices";
room_topic = "Notices about 4o1x5.dev";
auto_join = true;
};