forked from jan-leila/nix-config
		
	added jellyfin to server config
This commit is contained in:
		
							parent
							
								
									34d9ec4f9d
								
							
						
					
					
						commit
						834165443a
					
				
					 1 changed files with 47 additions and 2 deletions
				
			
		|  | @ -1,10 +1,32 @@ | ||||||
| { config, ... }: | { config, pkgs, ... }: | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../common |     ../common | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  |   users.groups.jellyfin_media = { | ||||||
|  |     members = ["jellyfin" "leyla" "ester" "eve"]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   users.groups.jellyfin = { | ||||||
|  |     members = ["jellyfin" "leyla"]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   users.users.jellyfin = { | ||||||
|  |     uid = 2000; | ||||||
|  |     group = "jellyfin"; | ||||||
|  |     isSystemUser = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   systemd.tmpfiles.rules = [ | ||||||
|  |     "d /home/jellyfin 755 jellyfin jellyfin -" | ||||||
|  |     "d /home/jellyfin/media 775 jellyfin jellyfin_media -" | ||||||
|  |     "d /home/jellyfin/config 750 jellyfin jellyfin -" | ||||||
|  |     "d /home/jellyfin/cache 755 jellyfin jellyfin_media -" | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|   services = let |   services = let | ||||||
|  |     jellyfinDomain = "jellyfin.jan-leila.com"; | ||||||
|     headscaleDomain = "headscale.jan-leila.com"; |     headscaleDomain = "headscale.jan-leila.com"; | ||||||
|   in { |   in { | ||||||
|     nfs.server = { |     nfs.server = { | ||||||
|  | @ -28,6 +50,15 @@ | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     jellyfin = { | ||||||
|  |       enable = true; | ||||||
|  |       user = "jellyfin"; | ||||||
|  |       group = "jellyfin"; | ||||||
|  |       dataDir = "/home/jellyfin/config"; # location on existing server: /home/docker/jellyfin/config | ||||||
|  |       cacheDir = "/home/jellyfin/cache"; # location on existing server: /home/docker/jellyfin/cache | ||||||
|  |       openFirewall = false; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     nginx = { |     nginx = { | ||||||
|       enable = false; # TODO: enable this when you want to test all the configs |       enable = false; # TODO: enable this when you want to test all the configs | ||||||
|       virtualHosts = { |       virtualHosts = { | ||||||
|  | @ -40,6 +71,15 @@ | ||||||
|             proxyWebsockets = true; |             proxyWebsockets = true; | ||||||
|           }; |           }; | ||||||
|         }; |         }; | ||||||
|  |         ${jellyfinDomain} = { | ||||||
|  |           forceSSL = true; | ||||||
|  |           enableACME = true; | ||||||
|  |           locations."/" = { | ||||||
|  |             proxyPass = | ||||||
|  |               "http://localhost:8096"; | ||||||
|  |             proxyWebsockets = true; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  | @ -59,5 +99,10 @@ | ||||||
| 
 | 
 | ||||||
|   networking.firewall.allowedTCPPorts = [ 2049 ]; |   networking.firewall.allowedTCPPorts = [ 2049 ]; | ||||||
| 
 | 
 | ||||||
|   environment.systemPackages = [ config.services.headscale.package ]; |   environment.systemPackages = [ | ||||||
|  |     config.services.headscale.package | ||||||
|  |     pkgs.jellyfin | ||||||
|  |     pkgs.jellyfin-web | ||||||
|  |     pkgs.jellyfin-ffmpeg | ||||||
|  |   ]; | ||||||
| } | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue