44 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			44 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 mkContainerPort mkContainerEnvironment;
 | 
						|
  inherit (config.ooknet.server.ookflix) groups volumes;
 | 
						|
  inherit (config.ooknet.server.ookflix.services) radarr;
 | 
						|
in {
 | 
						|
  config = mkIf radarr.enable {
 | 
						|
    users = mkServiceUser radarr.user.name;
 | 
						|
    systemd.tmpfiles.settings.radarrStateDir = mkServiceStateDir "radarr";
 | 
						|
    virtualisation.oci-containers.containers = {
 | 
						|
      radarr = {
 | 
						|
        image = "ghcr.io/hotio/radarr";
 | 
						|
        autoStart = true;
 | 
						|
        hostname = "radarr";
 | 
						|
        ports = [(mkContainerPort radarr.port)];
 | 
						|
        volumes = [
 | 
						|
          "${radarr.stateDir}:/config"
 | 
						|
          "${volumes.data.root}:/data"
 | 
						|
        ];
 | 
						|
        labels = mkContainerLabel {
 | 
						|
          name = "radarr";
 | 
						|
          inherit (radarr) port domain;
 | 
						|
          homepage = {
 | 
						|
            group = "arr";
 | 
						|
            description = "media-server movies downloader";
 | 
						|
          };
 | 
						|
        };
 | 
						|
        environment =
 | 
						|
          mkContainerEnvironment radarr.user.id groups.media.id
 | 
						|
          // {
 | 
						|
            UMASK = "002";
 | 
						|
          };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |