NixOS/modules/servers/lidarr.nix

45 lines
1.3 KiB
Nix

{
lib,
config,
proxyReverseArr,
setup,
...
}:
let
cfg = config.my.servers.lidarr;
in
{
options.my.servers.lidarr = setup.mkOptions "lidarr" "music" 8686;
config = {
networking.firewall.allowedTCPPorts = lib.mkIf (!cfg.isLocal) [ cfg.port ];
virtualisation.oci-containers.containers.lidarr = lib.mkIf cfg.enable {
autoStart = true;
image = "lscr.io/linuxserver/lidarr:latest";
ports = [ "${toString cfg.port}:${toString cfg.port}" ];
environment = {
TZ = config.my.timeZone;
PUID = "1000";
PGID = "100";
};
volumes = [
"/mnt/pool/multimedia:/data"
"/mnt/pool/multimedia/media/Music:/music"
"/mnt/pool/multimedia/media/MusicVideos:/music-videos"
"/mnt/pool/multimedia/downloads/usenet:/usenet"
"${config.my.containerData}/lidarr/files:/config"
"${config.my.containerData}/lidarr/custom-services.d:/custom-services.d"
"${config.my.containerData}/lidarr/custom-cont-init.d:/custom-cont-init.d"
];
labels = {
"flame.type" = "application";
"flame.name" = "Lidarr";
"flame.url" = cfg.url;
"flame.icon" = "music";
};
};
services.nginx.virtualHosts."${cfg.host}" = lib.mkIf cfg.enableProxy (
proxyReverseArr cfg.hostName cfg.port // { }
);
};
}