move mautrix-whatsapp to module

This commit is contained in:
Kabbone 2025-05-27 14:02:49 +02:00
parent 6529d08626
commit 029421bd4b
Signed by: Kabbone
SSH Key Fingerprint: SHA256:A5zPB5I6u5V78V51c362BBdCwhDhfDUVbt7NfKdjWBY
4 changed files with 56 additions and 71 deletions

View File

@ -75,9 +75,6 @@ in {
]; ];
} }
]; ];
app_service_config_files = [
config.age.secrets."services/matrix/whatsapp-registration.yml".path
];
}; };
extraConfigFiles = [ extraConfigFiles = [
config.age.secrets."services/matrix/synapse.yml".path config.age.secrets."services/matrix/synapse.yml".path
@ -88,42 +85,7 @@ in {
matrix-synapse = { matrix-synapse = {
requires = [ "postgresql.service" ]; requires = [ "postgresql.service" ];
}; };
mautrix-whatsapp = {
description = "Matrix <-> WhatsApp bridge";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "postgresql.service" "matrix-synapse.service" ];
requires = [ "postgresql.service" "matrix-synapse.service" ];
script = "${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp -n --config ${config.age.secrets."services/matrix/mautrix-whatsapp.yml".path}";
serviceConfig = {
User = "mautrix-whatsapp";
Group = "mautrix-whatsapp";
Environment = "HOME=/var/lib/mautrix-whatsapp";
ReadWritePaths="/var/log/mautrix-whatsapp";
NoNewPrivileges=true;
MemoryDenyWriteExecute=true;
PrivateDevices=true;
PrivateTmp=true;
ProtectHome=true;
ProtectSystem="strict";
ProtectControlGroups=true;
RestrictSUIDSGID=true;
RestrictRealtime=true;
LockPersonality=true;
ProtectKernelLogs=true;
ProtectKernelTunables=true;
ProtectHostname=true;
ProtectKernelModules=true;
PrivateUsers=true;
ProtectClock=true;
SystemCallArchitectures="native";
SystemCallErrorNumber="EPERM";
SystemCallFilter="@system-service";
}; };
};
};
systemd.tmpfiles.rules = [
"d /var/log/mautrix-whatsapp - mautrix-whatsapp mautrix-whatsapp"
];
users = { users = {
users = { users = {
@ -226,11 +188,7 @@ in {
}; };
appservice = { appservice = {
hostname = "127.0.0.1"; hostname = "127.0.0.1";
provisioning.enabled = false;
id = "signal"; id = "signal";
public = {
enabled = false;
};
}; };
database = { database = {
type = "postgres"; type = "postgres";
@ -245,35 +203,67 @@ in {
}; };
pickle_key = "$MAUTRIX_SIGNAL_ENCRYPTION_PICKLE_KEY"; pickle_key = "$MAUTRIX_SIGNAL_ENCRYPTION_PICKLE_KEY";
}; };
bridge = {
sync_channel_members = true;
startup_sync = true;
public_portals = true;
double_puppet_server_map = {
"kabtop.de" = "https://kabtop.de";
};
private_chat_portal_meta = "default";
backfill = { backfill = {
disable_notifications = true; enabled = true;
}; };
bridge = {
permissions = { permissions = {
"@kabbone:kabtop.de" = "admin"; "@kabbone:kabtop.de" = "admin";
}; };
}; };
logging = { logging = {
loggers = { min-level = "warn";
mau = { writers = {
level = "WARN"; format = "pretty-colored";
}; type = "stdout";
telethon = {
level = "WARN";
}; };
}; };
root = { };
handlers = [ };
"console" mautrix-whatsapp = {
]; enable = true;
level = "WARN"; registerToSynapse = true;
environmentFile = config.age.secrets."services/matrix/mautrix-whatsapp.env".path;
settings = {
homeserver = {
address = "http://localhost:8008";
domain = "kabtop.de";
};
appservice = {
hostname = "127.0.0.1";
id = "whatsapp";
};
database = {
type = "postgres";
uri = "$MAUTRIX_WHATSAPP_APPSERVICE_DATABASE";
};
encryption = {
allow = true;
default = true;
verification_levels = {
receive = "cross-signed-untrusted";
send = "cross-signed-untrusted";
};
pickle_key = "$MAUTRIX_WHATSAPP_ENCRYPTION_PICKLE_KEY";
};
network = {
history_sync = {
request_full_sync = true;
};
};
backfill = {
enabled = true;
};
bridge = {
permissions = {
"@kabbone:kabtop.de" = "admin";
};
};
logging = {
min-level = "warn";
writers = {
format = "pretty-colored";
type = "stdout";
}; };
}; };
}; };
@ -288,7 +278,7 @@ in {
file = ../../../secrets/services/matrix/mautrix-telegram.age; file = ../../../secrets/services/matrix/mautrix-telegram.age;
owner = "mautrix-telegram"; owner = "mautrix-telegram";
}; };
age.secrets."services/matrix/mautrix-whatsapp.yml" = { age.secrets."services/matrix/mautrix-whatsapp.env" = {
file = ../../../secrets/services/matrix/mautrix-whatsapp.age; file = ../../../secrets/services/matrix/mautrix-whatsapp.age;
owner = "mautrix-whatsapp"; owner = "mautrix-whatsapp";
}; };
@ -296,9 +286,4 @@ in {
file = ../../../secrets/services/matrix/mautrix-signal.age; file = ../../../secrets/services/matrix/mautrix-signal.age;
owner = "mautrix-signal"; owner = "mautrix-signal";
}; };
age.secrets."services/matrix/whatsapp-registration.yml" = {
file = ../../../secrets/services/matrix/whatsapp-registration.age;
owner = "matrix-synapse";
};
} }

View File

@ -69,7 +69,7 @@ in
"services/matrix/synapse.age".publicKeys = servers ++ users; "services/matrix/synapse.age".publicKeys = servers ++ users;
"services/matrix/mautrix-telegram.age".publicKeys = servers ++ users; "services/matrix/mautrix-telegram.age".publicKeys = servers ++ users;
"services/matrix/mautrix-whatsapp.age".publicKeys = servers ++ users; "services/matrix/mautrix-whatsapp.age".publicKeys = servers ++ users;
"services/matrix/whatsapp-registration.age".publicKeys = servers ++ users; "services/matrix/mautrix-whatsapp.old.age".publicKeys = servers ++ users;
"services/matrix/mautrix-signal.age".publicKeys = servers ++ users; "services/matrix/mautrix-signal.age".publicKeys = servers ++ users;
"services/nextcloud/adminpassFile.age".publicKeys = servers ++ users; "services/nextcloud/adminpassFile.age".publicKeys = servers ++ users;
"services/nextcloud/dbpassFile.age".publicKeys = servers ++ users; "services/nextcloud/dbpassFile.age".publicKeys = servers ++ users;

Binary file not shown.