AquaticOS/modules/servers/containers/ptrackers.nix

80 lines
No EOL
1.9 KiB
Nix

{ inputs, ... }:
{
flake.modules.nixos.ptrackers =
{ lib, ... }:
{
imports = with inputs.self.modules.nixos; [
podman
];
virtualisation.oci-containers.containers = {
"pretome" = {
image = "lscr.io/linuxserver/qbittorrent:latest";
volumes = [
"/DockerData/configs/qbittorrentPRIVATE/pretome:/config"
"/Media/Downloads:/Media/Downloads"
];
ports = [
"14647:14647"
"8090:8090"
"14647:14647/udp"
];
environment = {
"TZ"="America/New_York";
"PUID"="1000";
"PGID"="1000";
"WEBUI_PORT"="8090";
};
log-driver = "journald";
};
"seedpool" = {
image = "lscr.io/linuxserver/qbittorrent:latest";
volumes = [
"/DockerData/configs/qbittorrentPRIVATE/seedpool:/config"
"/Media/Downloads:/Media/Downloads"
];
ports = [
"14648:14648"
"8092:8092"
"14648:14648/udp"
];
environment = {
"TZ"="America/New_York";
"PUID"="1000";
"PGID"="1000";
"WEBUI_PORT"="8092";
};
log-driver = "journald";
};
};
systemd = {
services = {
"podman-pretome" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [ "podman-compose-ptracker-root.target" ];
wantedBy = [ "podman-compose-ptracker-root.target" ];
};
"podman-seedpool" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [ "podman-compose-ptracker-root.target" ];
wantedBy = [ "podman-compose-ptracker-root.target" ];
};
};
targets = {
"podman-compose-ptracker-root" = {
wantedBy = [ "multi-user.target" ];
};
};
};
};
}