port synapse to postgres

This commit is contained in:
Giulio De Pasquale 2021-09-07 11:24:11 +02:00
parent 183df298a7
commit f8ed25e743

View File

@ -6,11 +6,11 @@ with import ./network.nix;
matrix-synapse = { matrix-synapse = {
enable = true; enable = true;
server_name = "${matrixdomain}"; server_name = "${matrixdomain}";
database_type = "sqlite3"; database_name = "synapse";
public_baseurl = "https://${matrixdomain}"; public_baseurl = "https://${matrixdomain}";
registration_shared_secret = "runas!"; registration_shared_secret = "runas!";
dynamic_thumbnails = true; dynamic_thumbnails = true;
enable_registration = true; #enable_registration = true;
app_service_config_files = [ app_service_config_files = [
"/var/lib/matrix-synapse/discord-registration.yaml" "/var/lib/matrix-synapse/discord-registration.yaml"
"/var/lib/matrix-synapse/telegram-registration.yaml" "/var/lib/matrix-synapse/telegram-registration.yaml"
@ -39,6 +39,19 @@ with import ./network.nix;
]; ];
}; };
postgresql = {
enable = true;
ensureDatabases = [ "synapse" ];
ensureUsers = [
{
name = "matrix-synapse";
ensurePermissions = {
"DATABASE synapse" = "ALL PRIVILEGES";
};
}
];
};
nginx.virtualHosts = { nginx.virtualHosts = {
# server # server
${matrixdomain} = { ${matrixdomain} = {
@ -109,28 +122,28 @@ with import ./network.nix;
}; };
# telegram bridge # telegram bridge
mautrix-telegram = {
enable = true;
environmentFile = /secrets/mautrix-telegram/mautrix-telegram.env;
settings = { mautrix-telegram = {
homeserver = { enable = true;
address = "https://${matrixdomain}"; environmentFile = /secrets/mautrix-telegram/mautrix-telegram.env;
domain = "${matrixdomain}";
};
appservice = { settings = {
provisioning.enabled = false; homeserver = {
id = "telegram"; address = "https://${matrixdomain}";
}; domain = "${matrixdomain}";
bridge = {
permissions = {
"@pepe:${matrixdomain}" = "admin";
"${matrixdomain}" = "puppeting";
}; };
appservice = {
provisioning.enabled = false;
id = "telegram";
};
bridge = {
permissions = {
"@pepe:${matrixdomain}" = "admin";
"${matrixdomain}" = "puppeting";
};
# Animated stickers conversion requires additional packages in the # Animated stickers conversion requires additional packages in the
# service's path. # service's path.
# If this isn't a fresh installation, clearing the bridge's uploaded # If this isn't a fresh installation, clearing the bridge's uploaded
@ -150,18 +163,18 @@ with import ./network.nix;
}; };
}; };
}; };
systemd.services.mautrix-telegram.path = with pkgs; [ systemd.services.mautrix-telegram.path = with pkgs; [
lottieconverter # for animated stickers conversion, unfree package lottieconverter # for animated stickers conversion, unfree package
ffmpeg # if converting animated stickers to webm (very slow!) ffmpeg # if converting animated stickers to webm (very slow!)
]; ];
networking.extraHosts = '' networking.extraHosts = ''
127.0.0.1 ${matrixdomain} ${matrixwebdomain} 127.0.0.1 ${matrixdomain} ${matrixwebdomain}
${architect-lan} ${matrixdomain} ${matrixwebdomain} ${architect-lan} ${matrixdomain} ${matrixwebdomain}
${architect-wg} ${matrixdomain} ${matrixwebdomain} ${architect-wg} ${matrixdomain} ${matrixwebdomain}
''; '';
users.groups.acme.members = [ "turnserver" ]; users.groups.acme.members = [ "turnserver" ];
} }