2025-01-10 09:07:36 +00:00
|
|
|
{config, ...}:
|
|
|
|
let
|
|
|
|
openVpnPwd = config.sops.secrets."software/proton/openvpn_password".path;
|
|
|
|
openVpnUser = config.sops.secrets."software/proton/openvpn_user".path;
|
2025-01-07 16:35:16 +00:00
|
|
|
in {
|
|
|
|
services.restic.backups = {
|
|
|
|
daily = {
|
|
|
|
paths = [
|
|
|
|
"/srv/media-server/arrstack"
|
|
|
|
];
|
|
|
|
exclude = [
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-01-10 09:07:36 +00:00
|
|
|
sops.secrets = {
|
|
|
|
"software/proton/openvpn_password" = {};
|
|
|
|
"software/proton/openvpn_user" = {};
|
|
|
|
};
|
|
|
|
|
2025-01-07 16:35:16 +00:00
|
|
|
virtualisation.arion = {
|
|
|
|
backend = "podman-socket";
|
2025-01-10 09:07:36 +00:00
|
|
|
projects.arrstack = {
|
2025-01-07 16:35:16 +00:00
|
|
|
settings = {
|
|
|
|
services.gluetun.service = {
|
|
|
|
ports = [
|
2025-01-10 09:07:36 +00:00
|
|
|
"8076:8076" # qbittorrent webui port
|
|
|
|
"6887:6887" # qbittorrent torrenting port
|
|
|
|
"6887:6887/udp" # qbittorrent torrenting port
|
2025-01-07 16:35:16 +00:00
|
|
|
];
|
|
|
|
image = "qmcgaw/gluetun";
|
2025-01-10 09:07:36 +00:00
|
|
|
capabilities = { NET_ADMIN = true; };
|
|
|
|
container_name = "glutun";
|
2025-01-07 16:35:16 +00:00
|
|
|
restart = "always";
|
|
|
|
volumes = [
|
|
|
|
"/srv/media-server/arrstack/gluetun:/gluetun"
|
2025-01-10 09:07:36 +00:00
|
|
|
"${openVpnPwd}:/run/secrets/openvpn_password"
|
|
|
|
"${openVpnUser}:/run/secrets/openvpn_user"
|
2025-01-07 16:35:16 +00:00
|
|
|
];
|
|
|
|
environment = {
|
2025-01-10 09:07:36 +00:00
|
|
|
VPN_SERVICE_PROVIDER = "protonvpn";
|
2025-01-07 16:35:16 +00:00
|
|
|
VPN_TYPE = "openvpn";
|
|
|
|
SERVER_COUNTRIES = "Switzerland";
|
|
|
|
};
|
|
|
|
devices = ["/dev/net/tun:/dev/net/tun"];
|
2025-01-10 09:07:36 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
services.qbittorrent.service = {
|
|
|
|
image = "lscr.io/linuxserver/qbittorrent:latest";
|
|
|
|
container_name = "qbittorrent";
|
|
|
|
restart = "always";
|
|
|
|
volumes = [
|
|
|
|
"/srv/media-server/arrstack/qbittorrent:/config"
|
|
|
|
"/media/media:/media"
|
2025-01-07 16:35:16 +00:00
|
|
|
];
|
2025-01-10 09:07:36 +00:00
|
|
|
environment = {
|
|
|
|
TZ="Europe/London";
|
|
|
|
WEBUI_PORT=8076;
|
|
|
|
TORRENTING_PORT=6887;
|
|
|
|
PUID=1000;
|
|
|
|
PGID=1000;
|
|
|
|
};
|
|
|
|
network_mode = "service:gluetun";
|
2025-01-07 16:35:16 +00:00
|
|
|
};
|
2025-01-10 09:07:36 +00:00
|
|
|
|
2025-01-07 16:35:16 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|