Added Meta Bridge; Exposed Grafana as widget
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
sops.secrets = {
|
||||
meta_as_token = {
|
||||
owner = "mautrix-meta-facebook";
|
||||
group = "mautrix-meta";
|
||||
};
|
||||
meta_hs_token = {
|
||||
owner = "mautrix-meta-facebook";
|
||||
group = "mautrix-meta";
|
||||
};
|
||||
instagram_as_token = {
|
||||
owner = "mautrix-meta-instagram";
|
||||
group = "mautrix-meta";
|
||||
};
|
||||
instagram_hs_token = {
|
||||
owner = "mautrix-meta-instagram";
|
||||
group = "mautrix-meta";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
mautrix-meta-facebook-env = {
|
||||
before = [ "mautrix-meta-facebook-registration.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
script = ''
|
||||
mkdir -p /run/mautrix-meta-facebook
|
||||
echo "META_AS_TOKEN=$(cat ${config.sops.secrets.meta_as_token.path})" > /run/mautrix-meta-facebook/env
|
||||
echo "META_HS_TOKEN=$(cat ${config.sops.secrets.meta_hs_token.path})" >> /run/mautrix-meta-facebook/env
|
||||
chmod 600 /run/mautrix-meta-facebook/env
|
||||
chown mautrix-meta-facebook:mautrix-meta /run/mautrix-meta-facebook/env
|
||||
'';
|
||||
};
|
||||
|
||||
mautrix-meta-instagram-env = {
|
||||
before = [ "mautrix-meta-instagram-registration.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
script = ''
|
||||
mkdir -p /run/mautrix-meta-instagram
|
||||
echo "INSTAGRAM_AS_TOKEN=$(cat ${config.sops.secrets.instagram_as_token.path})" > /run/mautrix-meta-instagram/env
|
||||
echo "INSTAGRAM_HS_TOKEN=$(cat ${config.sops.secrets.instagram_hs_token.path})" >> /run/mautrix-meta-instagram/env
|
||||
chmod 600 /run/mautrix-meta-instagram/env
|
||||
chown mautrix-meta-instagram:mautrix-meta /run/mautrix-meta-instagram/env
|
||||
'';
|
||||
};
|
||||
|
||||
mautrix-meta-facebook-registration.serviceConfig.UMask = lib.mkForce "0022";
|
||||
mautrix-meta-instagram-registration.serviceConfig.UMask = lib.mkForce "0022";
|
||||
};
|
||||
|
||||
services = {
|
||||
postgresql = {
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "mautrix-meta-facebook";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
{
|
||||
name = "mautrix-meta-instagram";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
ensureDatabases = [
|
||||
"mautrix-meta-facebook"
|
||||
"mautrix-meta-instagram"
|
||||
];
|
||||
};
|
||||
|
||||
mautrix-meta.instances = {
|
||||
facebook = {
|
||||
enable = true;
|
||||
environmentFile = "/run/mautrix-meta-facebook/env";
|
||||
settings = {
|
||||
homeserver = {
|
||||
address = "http://127.0.0.1:8008";
|
||||
domain = "cyperpunk.de";
|
||||
};
|
||||
database = {
|
||||
type = "postgres";
|
||||
uri = "postgres:///mautrix-meta-facebook?host=/run/postgresql&sslmode=disable";
|
||||
};
|
||||
appservice = {
|
||||
as_token = "$META_AS_TOKEN";
|
||||
hs_token = "$META_HS_TOKEN";
|
||||
};
|
||||
bridge.permissions = {
|
||||
"cyperpunk.de" = "user";
|
||||
"@dergrumpf:cyperpunk.de" = "admin";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
instagram = {
|
||||
enable = true;
|
||||
environmentFile = "/run/mautrix-meta-instagram/env";
|
||||
settings = {
|
||||
homeserver = {
|
||||
address = "http://127.0.0.1:8008";
|
||||
domain = "cyperpunk.de";
|
||||
};
|
||||
database = {
|
||||
type = "postgres";
|
||||
uri = "postgres:///mautrix-meta-instagram?host=/run/postgresql&sslmode=disable";
|
||||
};
|
||||
appservice = {
|
||||
as_token = "$INSTAGRAM_AS_TOKEN";
|
||||
hs_token = "$INSTAGRAM_HS_TOKEN";
|
||||
};
|
||||
bridge.permissions = {
|
||||
"cyperpunk.de" = "user";
|
||||
"@dergrumpf:cyperpunk.de" = "admin";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user