server: initial media server config
This commit is contained in:
		
							parent
							
								
									05274f898b
								
							
						
					
					
						commit
						7590d9af07
					
				
					 13 changed files with 546 additions and 2 deletions
				
			
		
							
								
								
									
										48
									
								
								modules/nixos/server/services/media-server/prowlarr.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								modules/nixos/server/services/media-server/prowlarr.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  inherit (lib) mkIf getExe;
 | 
			
		||||
  inherit (config.ooknet.server) media-server;
 | 
			
		||||
  inherit (config.ooknet.server.media-server) storage users groups domain proxy;
 | 
			
		||||
in {
 | 
			
		||||
  config = mkIf media-server.prowlarr.enable {
 | 
			
		||||
    # we dont use the nixpkgs prowlarr service module because it lacks the option to
 | 
			
		||||
    # declare dataDir, user and group.
 | 
			
		||||
 | 
			
		||||
    # setup user
 | 
			
		||||
    users.users.prowlarr = {
 | 
			
		||||
      group = groups.prowlarr;
 | 
			
		||||
      home = storage.state.prowlarr;
 | 
			
		||||
    };
 | 
			
		||||
    users.groups.prowlarr = {};
 | 
			
		||||
 | 
			
		||||
    # basic systemd service
 | 
			
		||||
    systemd = {
 | 
			
		||||
      services.prowlarr = {
 | 
			
		||||
        description = "Prowlarr";
 | 
			
		||||
        after = ["network.target"];
 | 
			
		||||
        wantedBy = ["multi-user.target"];
 | 
			
		||||
 | 
			
		||||
        serviceConfig = {
 | 
			
		||||
          Type = "simple";
 | 
			
		||||
          User = users.prowlarr;
 | 
			
		||||
          group = groups.prowlarr;
 | 
			
		||||
          ExecStart = "${getExe pkgs.prowlarr} -nobrowser -data=${storage.state.prowlarr}";
 | 
			
		||||
          Restart = "on-failure";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      tmpfiles.settings.prowlarrDirs = {
 | 
			
		||||
        "${storage.state.prowlarr}"."d" = {
 | 
			
		||||
          mode = "700";
 | 
			
		||||
          user = users.prowlarr;
 | 
			
		||||
          group = groups.prowlarr;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    ooknet.server.webserver.caddy.enable = true;
 | 
			
		||||
    services.caddy.virtualHosts."${domain.prowlarr}".extraConfig = proxy.prowlarr;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue