38 lines
1.2 KiB
Nix
38 lines
1.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
ook,
|
|
self,
|
|
...
|
|
}: let
|
|
ookflixLib = import ./lib.nix {inherit lib config self;};
|
|
inherit (ookflixLib) mkServiceUser mkServiceStateDir;
|
|
inherit (lib) mkIf;
|
|
inherit (ook.lib.container) mkContainerLabel mkContainerEnvironment mkContainerPort;
|
|
inherit (config.ooknet.server.ookflix) groups;
|
|
inherit (config.ooknet.server.ookflix.services) tautulli;
|
|
in {
|
|
config = mkIf tautulli.enable {
|
|
users = mkServiceUser tautulli.user.name;
|
|
systemd.tmpfiles = mkServiceStateDir "tautulli" tautulli.stateDir;
|
|
virtualisation.oci-containers.containers = {
|
|
# plex monitoring service
|
|
tautulli = {
|
|
image = "lscr.io/linuxserver/tautulli:latest";
|
|
autoStart = true;
|
|
hostname = "tautulli";
|
|
ports = [(mkContainerPort tautulli.port)];
|
|
volumes = ["${tautulli.stateDir}:/config"];
|
|
labels = mkContainerLabel {
|
|
name = "tautulli";
|
|
inherit (tautulli) port domain;
|
|
homepage = {
|
|
group = "monitoring";
|
|
description = "media-server monitoring";
|
|
};
|
|
};
|
|
environment = mkContainerEnvironment tautulli.user.id groups.media.id;
|
|
};
|
|
};
|
|
};
|
|
}
|