Create jellyfin VM
Update DNS for new Jellyfin box Update DHCP for new Jellyfin box Modify Isaiah to work better with VMs Update pinned packages becaue I derped hard on creating a cyclic dependency
This commit is contained in:
@@ -63,6 +63,7 @@ in
|
||||
jeremiah = unstable { name = "jeremiah"; };
|
||||
isaiah = unstable { name = "isaiah"; };
|
||||
|
||||
vm-jellyfin = vm { name = "vm-jellyfin"; };
|
||||
vm-matrix = vm { name = "vm-matrix"; };
|
||||
|
||||
iso = machine { name = "iso"; };
|
||||
|
||||
@@ -60,8 +60,6 @@ in
|
||||
allowedUDPPorts = [
|
||||
dhcpPort
|
||||
dnsPort
|
||||
1900 # Jellyfin auto-discovery
|
||||
7359 # Jellyfin auto-discovery
|
||||
];
|
||||
allowedTCPPorts = [
|
||||
dnsPort
|
||||
@@ -74,21 +72,7 @@ in
|
||||
|
||||
environment.etc."hosts.d/local".text = extraHosts;
|
||||
|
||||
fileSystems = {
|
||||
"/media" = {
|
||||
device = "10.42.1.4:/volume1/video/";
|
||||
fsType = "nfs";
|
||||
options = [ "ro" ];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
# Video services
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
#########
|
||||
# Blind service proxy behind the walls of the VPN
|
||||
########
|
||||
@@ -146,10 +130,6 @@ in
|
||||
};
|
||||
}; # End of services configuration
|
||||
|
||||
greg.proxies = {
|
||||
"jellyfin.home".target = "http://localhost:8096/";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bind
|
||||
curl # Used by dnsmasq fetching
|
||||
|
||||
@@ -108,18 +108,26 @@
|
||||
# hw-address = ""; # hosea
|
||||
# ip-address = "10.42.1.7";
|
||||
#}
|
||||
#{
|
||||
# hw-address = ""; # jeremiah
|
||||
# ip-address = "10.42.1.8";
|
||||
#}
|
||||
{
|
||||
hw-address = "b4:2e:99:aa:22:3c"; # jeremiah
|
||||
ip-address = "10.42.1.8";
|
||||
}
|
||||
{
|
||||
hw-address = "c8:5e:a9:54:9e:c6"; # IVR laptop Wi-Fi
|
||||
ip-address = "10.42.1.9";
|
||||
}
|
||||
|
||||
########################################
|
||||
# VM servers #
|
||||
########################################
|
||||
|
||||
{
|
||||
hw-address = "52:54:00:2a:74:2f";
|
||||
ip-address = "10.43.4.1";
|
||||
ip-address = "10.43.4.1"; # Dendrite
|
||||
}
|
||||
{
|
||||
hw-address = "52:54:00:6e:eb:83";
|
||||
ip-address = "10.43.4.2"; # Jellyfin
|
||||
}
|
||||
|
||||
########################################
|
||||
|
||||
@@ -12,7 +12,10 @@
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
allowedBridges = [ "virbr0" ];
|
||||
allowedBridges = [
|
||||
"br0"
|
||||
"virbr0"
|
||||
];
|
||||
onBoot = "ignore"; # only restart VMs labeled 'autostart'
|
||||
qemu.ovmf.enable = true;
|
||||
};
|
||||
@@ -26,12 +29,15 @@
|
||||
networking = {
|
||||
hostName = "isaiah";
|
||||
useDHCP = false;
|
||||
bridges.br0 = {
|
||||
interfaces = [ "enp38s0" ];
|
||||
};
|
||||
defaultGateway = {
|
||||
address = " 10.42.1.1";
|
||||
interface = "enp38s0";
|
||||
interface = "br0";
|
||||
};
|
||||
interfaces = {
|
||||
enp38s0 = {
|
||||
br0 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "10.42.1.6";
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
#boot.loader.grub.devices = [ "/dev/vda" ];
|
||||
|
||||
greg = {
|
||||
proxies."jellyfin.home".target = "http://localhost:8096/";
|
||||
tailscale.enable = true;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/music" = {
|
||||
device = "10.42.1.4:/volume1/music";
|
||||
fsType = "nfs";
|
||||
options = [ "ro" ];
|
||||
};
|
||||
"/photo" = {
|
||||
device = "10.42.1.4:/volume1/photo";
|
||||
fsType = "nfs";
|
||||
options = [ "ro" ];
|
||||
};
|
||||
"/video" = {
|
||||
device = "10.42.1.4:/volume1/video/";
|
||||
fsType = "nfs";
|
||||
options = [ "ro" ];
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "vm-jellyfin";
|
||||
domain = "thehellings.lan";
|
||||
};
|
||||
|
||||
services.jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
virtualisation.diskSize = 100 * 1024;
|
||||
}
|
||||
Reference in New Issue
Block a user