improve synapse
This commit is contained in:
parent
4c9e01e754
commit
0b041cc949
5 changed files with 53 additions and 39 deletions
|
|
@ -1,16 +0,0 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
services.draupnir = {
|
||||
enable = true;
|
||||
settings = {
|
||||
homeserverUrl = "https://matrix.berlin.ccc.de";
|
||||
managementRoom = "!ZYWNuaQBkkenNklCSm:matrix.org"; # #cccb-moderators:berlin.ccc.de
|
||||
autojoinOnlyIfManager = true;
|
||||
recordIgnoredInvites = true;
|
||||
roomStateBackingStore.enabled = true;
|
||||
displayReports = true;
|
||||
};
|
||||
secrets.accessToken = config.age.secrets.draupnir_access_token.path;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,44 +1,28 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
fqdn = "matrix.berlin.ccc.de";
|
||||
in
|
||||
{
|
||||
users.users.nginx.extraGroups = [ "acme" ];
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
resolver.addresses = [
|
||||
"[2606:4700:4700::1111]"
|
||||
"[2620:fe::fe]"
|
||||
"1.1.1.1"
|
||||
"9.9.9.9"
|
||||
];
|
||||
statusPage = true; # http://127.0.0.1/nginx_status
|
||||
sslProtocols = "TLSv1.3";
|
||||
recommendedTlsSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedBrotliSettings = true;
|
||||
virtualHosts."${fqdn}" = {
|
||||
default = true;
|
||||
quic = true;
|
||||
kTLS = true;
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
#"/.well-known/acme-challenge".root = config.security.acme.defaults.webroot;
|
||||
"/".return = "418 \"🫖\"";
|
||||
"~ ^(/_matrix|/_synapse/client)" = {
|
||||
recommendedProxySettings = true;
|
||||
proxyPass = "http://[::1]:8008";
|
||||
extraConfig = ''
|
||||
client_max_body_size 64M;
|
||||
proxy_set_header X-Request-ID $request_id;
|
||||
proxy_http_version 1.1;
|
||||
'';
|
||||
};
|
||||
};
|
||||
services = {
|
||||
nginx = {
|
||||
enable = true;
|
||||
resolver.addresses = [
|
||||
"[2606:4700:4700::1111]"
|
||||
"[2620:fe::fe]"
|
||||
"1.1.1.1"
|
||||
"9.9.9.9"
|
||||
];
|
||||
statusPage = true; # http://127.0.0.1/nginx_status
|
||||
sslProtocols = "TLSv1.3";
|
||||
recommendedTlsSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedBrotliSettings = true;
|
||||
};
|
||||
prometheus.exporters.nginx = {
|
||||
enable = true;
|
||||
firewallRules = config.services.prometheus.exporters.node.firewallRules;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,84 +0,0 @@
|
|||
{ config, ... }:
|
||||
|
||||
let
|
||||
domain = "berlin.ccc.de";
|
||||
in
|
||||
{
|
||||
services = {
|
||||
matrix-synapse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server_name = domain;
|
||||
public_baseurl = "https://matrix.${domain}:443/";
|
||||
# "/var/lib/matrix-synapse/homeserver.signing.key"
|
||||
signing_key_path = config.age.secrets.matrix_signing_key.path;
|
||||
registration_shared_secret_path = config.age.secrets.matrix_registration_shared_secret.path;
|
||||
database = {
|
||||
name = "psycopg2";
|
||||
args = {
|
||||
user = "matrix-synapse";
|
||||
database = "matrix-synapse";
|
||||
};
|
||||
};
|
||||
listeners = [
|
||||
{
|
||||
type = "http";
|
||||
tls = false;
|
||||
x_forwarded = true;
|
||||
port = 8008;
|
||||
bind_addresses = [ "::1" ];
|
||||
#request_id_header = "X-Request-ID";
|
||||
resources = [
|
||||
{
|
||||
compress = false;
|
||||
names = [
|
||||
"client"
|
||||
"federation"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
type = "metrics";
|
||||
tls = false;
|
||||
port = 9009;
|
||||
bind_addresses = [ "::1" ];
|
||||
resources = [
|
||||
{
|
||||
compress = false;
|
||||
names = [ "metrics" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
enable_metrics = true;
|
||||
dynamic_thumbnails = true;
|
||||
max_upload_size = "128M";
|
||||
max_image_pixels = "64M";
|
||||
|
||||
retention = {
|
||||
enabled = true;
|
||||
default_policy = {
|
||||
min_lifetime = "1d";
|
||||
max_lifetime = "1y";
|
||||
};
|
||||
allowed_lifetime_min = "1d";
|
||||
allowed_lifetime_max = "1y";
|
||||
};
|
||||
};
|
||||
enableRegistrationScript = true;
|
||||
};
|
||||
|
||||
postgresql = {
|
||||
ensureUsers = [
|
||||
{
|
||||
name = config.services.matrix-synapse.settings.database.args.user;
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
ensureDatabases = [
|
||||
config.services.matrix-synapse.settings.database.args.database
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue