1
0
Fork 0
dotfiles/container/matrix/default.nix

88 lines
2.3 KiB
Nix
Raw Normal View History

2023-03-24 21:31:33 +00:00
{ config, lib, ... }:
2022-11-27 18:51:19 +00:00
{
virtualisation.oci-containers.containers = {
2023-03-19 00:01:41 +00:00
# https://gitlab.com/signald/signald
signald = {
2023-03-19 00:01:41 +00:00
image = "registry.gitlab.com/signald/signald:0.23.2";
environmentFiles = [ config.age.secrets.signald-environment.path ];
volumes = [
"/etc/container-matrix/signald:/signald"
];
extraOptions = [
"--label=com.centurylinklabs.watchtower.enable=true"
"--label=io.containers.autoupdate=registry"
];
};
2023-03-19 00:01:41 +00:00
# https://mau.dev/mautrix/signal
matrix-signal = {
2023-03-19 00:01:41 +00:00
image = "dock.mau.dev/mautrix/signal:v0.4.2";
dependsOn = [ "signald" ];
ports = [ "127.0.0.1:29328:29328" ];
volumes = [
"/etc/container-matrix/signal:/data"
"/etc/container-matrix/signald:/signald"
];
extraOptions = [
"--label=com.centurylinklabs.watchtower.enable=true"
"--label=io.containers.autoupdate=registry"
];
2022-11-27 18:51:19 +00:00
};
2023-03-19 00:01:41 +00:00
# https://mau.dev/mautrix/whatsapp
matrix-whatsapp = {
2023-03-19 00:01:41 +00:00
image = "dock.mau.dev/mautrix/whatsapp:v0.8.3";
ports = [ "127.0.0.1:29318:29318" ];
volumes = [
"/etc/container-matrix/whatsapp:/data"
];
extraOptions = [
"--label=com.centurylinklabs.watchtower.enable=true"
"--label=io.containers.autoupdate=registry"
];
};
};
2023-03-24 21:30:50 +00:00
systemd.services.podman-signald.serviceConfig = {
TimeoutStopSec = lib.mkForce 5;
};
systemd.services.podman-matrix-signal.serviceConfig = {
TimeoutStopSec = lib.mkForce 5;
};
systemd.services.podman-matrix-whatsapp.serviceConfig = {
TimeoutStopSec = lib.mkForce 5;
};
2023-03-19 12:04:48 +00:00
networking.firewall.interfaces."podman+" = {
allowedUDPPorts = [ 443 ];
allowedTCPPorts = [ 443 ];
};
systemd.tmpfiles.rules = [
"d /etc/container-matrix/signald 0775 0 0"
"d /etc/container-matrix/signal 0775 1337 1337"
"d /etc/container-matrix/whatsapp 0775 1337 1337"
];
# Matrix: Signal
environment.etc."container-matrix/signal/config.yaml" = {
source = ../../secret/container/matrix/config/signal.yaml;
mode = "0640";
uid = 1337;
gid = 1337;
};
# Matrix: WhatsApp
environment.etc."container-matrix/whatsapp/config.yaml" = {
source = ../../secret/container/matrix/config/whatsapp.yaml;
mode = "0640";
uid = 1337;
gid = 1337;
2022-11-27 18:51:19 +00:00
};
}