95 lines
2.8 KiB
Nix
95 lines
2.8 KiB
Nix
{ pkgs, settings, ... }: let
|
|
appservicePort = 8009;
|
|
in {
|
|
virtualisation.oci-containers.containers.mautrix-discord = {
|
|
autoStart = true;
|
|
image = "dock.mau.dev/mautrix/discord:v0.7.2";
|
|
volumes = [
|
|
"/var/lib/mautrix-discord:/data"
|
|
];
|
|
extraOptions = [
|
|
"--network=host"
|
|
];
|
|
};
|
|
|
|
services = {
|
|
# mautrix-discord media proxy https://docs.mau.fi/bridges/go/discord/direct-media.html
|
|
caddy.virtualHosts."discord-media.catnip.ee".extraConfig = ''
|
|
tls {
|
|
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
|
resolvers 1.1.1.1
|
|
}
|
|
|
|
reverse_proxy :29334
|
|
'';
|
|
|
|
# /var/lib/mautrix-telegram
|
|
mautrix-telegram = {
|
|
enable = true;
|
|
environmentFile = "/etc/secrets/mautrix-telegram.env";
|
|
|
|
settings = {
|
|
homeserver = {
|
|
address = "http://localhost:${toString settings.ports.synapse}";
|
|
domain = "catnip.ee";
|
|
};
|
|
appservice = {
|
|
address = "http://localhost:${toString appservicePort}";
|
|
port = appservicePort;
|
|
provisioning.enabled = false;
|
|
id = "telegram";
|
|
public = {
|
|
enabled = true;
|
|
prefix = "/telegram";
|
|
external = "https://matrix.catnip.ee/telegram";
|
|
};
|
|
};
|
|
bridge = {
|
|
encryption.allow = true;
|
|
permissions = {
|
|
"@admin:catnip.ee" = "admin";
|
|
"@kaya:catnip.ee" = "admin";
|
|
"catnip.ee" = "full";
|
|
"*" = "relaybot";
|
|
};
|
|
animated_sticker = {
|
|
target = "gif";
|
|
args = {
|
|
width = 256;
|
|
height = 256;
|
|
fps = 30; # only for webm
|
|
background = "020202"; # only for gif, transparency not supported
|
|
};
|
|
};
|
|
};
|
|
telegram = {
|
|
device_info = {
|
|
device_model = "GooglePixel 6";
|
|
system_version = "SDK 32";
|
|
app_version = "8.7.4 (26367)";
|
|
lang_code = "en";
|
|
system_lang_code = "en";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
matrix-synapse.settings.app_service_config_files = [
|
|
# sudo rm /var/lib/matrix-synapse/telegram-registration.yaml
|
|
# sudo cp /var/lib/mautrix-telegram/telegram-registration.yaml /var/lib/matrix-synapse/
|
|
# sudo chown matrix-synapse:matrix-synapse /var/lib/matrix-synapse/telegram-registration.yaml
|
|
# sudo systemctl restart matrix-synapse
|
|
"/var/lib/matrix-synapse/telegram-registration.yaml"
|
|
"/var/lib/mautrix-discord/registration.yaml"
|
|
];
|
|
|
|
borgbackup.jobs."borgbase".paths = [
|
|
"/var/lib/mautrix-discord"
|
|
"/var/lib/private/mautrix-telegram"
|
|
];
|
|
};
|
|
|
|
systemd.services.mautrix-telegram.path = with pkgs; [
|
|
lottieconverter # for animated stickers conversion, unfree package
|
|
ffmpeg # if converting animated stickers to webm (very slow!)
|
|
];
|
|
}
|