Use postgresql as database for Matrix bridges

This commit is contained in:
coolneng 2023-06-12 16:54:44 +02:00
parent 27f170070c
commit 13a91c8948
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
6 changed files with 29 additions and 9 deletions

View File

@ -162,6 +162,16 @@ with pkgs;
owner = "coolneng"; owner = "coolneng";
group = "podman"; group = "podman";
}; };
secrets.facebook = {
file = secrets/facebook.age;
owner = "matrix-as-facebook";
group = "matrix-as-facebook";
};
secrets.signal = {
file = secrets/signal.age;
owner = "matrix-as-signal";
group = "matrix-as-signal";
};
identityPaths = [ "/etc/ssh/id_ed25519" ]; identityPaths = [ "/etc/ssh/id_ed25519" ];
}; };

View File

@ -26,14 +26,7 @@ in {
dns_cache.enabled = true; dns_cache.enabled = true;
}; };
# HACK Inherit postgres connection string for the rest of the DBs # HACK Inherit postgres connection string for the rest of the DBs
app_service_api = { app_service_api = { inherit database; };
inherit database;
config_files = [
"/var/lib/matrix-as-facebook/facebook-registration.yaml"
"/var/lib/matrix-as-signal/signal-registration.yaml"
"/var/lib/matrix-as-telegram/telegram-registration.yaml"
];
};
media_api = { inherit database; }; media_api = { inherit database; };
room_server = { inherit database; }; room_server = { inherit database; };
push_server = { inherit database; }; push_server = { inherit database; };
@ -71,6 +64,7 @@ in {
package = mautrix-telegram; package = mautrix-telegram;
serviceConfig.EnvironmentFile = config.age.secrets.telegram.path; serviceConfig.EnvironmentFile = config.age.secrets.telegram.path;
settings = { settings = {
appservice.database = "$DB_STRING";
homeserver.software = "standard"; homeserver.software = "standard";
telegram = { telegram = {
api_id = "$API_ID"; api_id = "$API_ID";
@ -86,18 +80,24 @@ in {
port = 8228; port = 8228;
format = "mautrix-python"; format = "mautrix-python";
package = mautrix-facebook; package = mautrix-facebook;
settings.homeserver.software = "standard"; serviceConfig.EnvironmentFile = config.age.secrets.facebook.path;
settings = {
appservice.database = "$DB_STRING";
homeserver.software = "standard";
};
}; };
signal = { signal = {
port = 8338; port = 8338;
format = "mautrix-python"; format = "mautrix-python";
package = mautrix-signal; package = mautrix-signal;
serviceConfig = { serviceConfig = {
EnvironmentFile = config.age.secrets.signal.path;
StateDirectory = [ "matrix-as-signal" "signald" ]; StateDirectory = [ "matrix-as-signal" "signald" ];
JoinNamespaceOf = "signald.service"; JoinNamespaceOf = "signald.service";
SupplementaryGroups = [ "signald" ]; SupplementaryGroups = [ "signald" ];
}; };
settings = { settings = {
appservice.database = "$DB_STRING";
homeserver.software = "standard"; homeserver.software = "standard";
signal = { signal = {
socket_path = config.services.signald.socketPath; socket_path = config.services.signald.socketPath;

BIN
secrets/facebook.age Normal file

Binary file not shown.

View File

@ -15,4 +15,6 @@ in {
"mqtt-sender.age".publicKeys = [ zion ]; "mqtt-sender.age".publicKeys = [ zion ];
"mqtt-receiver.age".publicKeys = [ zion ]; "mqtt-receiver.age".publicKeys = [ zion ];
"nightscout.age".publicKeys = [ zion ]; "nightscout.age".publicKeys = [ zion ];
"facebook.age".publicKeys = [ zion ];
"signal.age".publicKeys = [ zion ];
} }

8
secrets/signal.age Normal file
View File

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg J/gZDBtDsIzjCzO1y2vXgxl8YuvWJgcpk+8KMOp63kg
1XF9JFAIscHWFJMTctZOxVIBYhYliUFays5gwjZt6hs
-> vM4\2y\'-grease
bj9VKIuH0l1v5X8N2v4p+u3VySDKjj3WAyVZ7f+wmy16wncrNyMtiUZ+ELBWfqXd
XOyeGZoKBHwd8lOgkZ+va0BEkBJs9piX
--- K2uN9JxuqPQpAxjQ+6dgsqhsq50nTkLsw8QGJprE5hQ
HÈó²SÍ:¤eJ4}'˜¨TØÔ˦ œ†[Â'‡Möì²9†à×E6_®§°¶ÉùØ_¸ˆ´yPM8''¬'¹F¦¶<C2B6>ŒáäRÚ¡"¯Ý<C2AF>±XæúÔÈ;ò¸4¼J/>kÝ5Ê<¾å:ßM»lK$¼ÓŸqöSô„»À#ºÅŒ<04>jÁX)ÀÓv¶Žô¬OuÚøJ´¿˜~

Binary file not shown.