Compare commits
2 Commits
33b50d12d9
...
23e9af7564
Author | SHA1 | Date |
---|---|---|
Tim Van Baak | 23e9af7564 | |
Tim Van Baak | 721e5a3ca1 |
|
@ -3,6 +3,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
./jellyfin.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.grub = {
|
boot.loader.grub = {
|
||||||
|
@ -18,10 +19,6 @@
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [
|
|
||||||
80 # http
|
|
||||||
443 # https
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value governs how some stateful data, like databases, are handled
|
# This value governs how some stateful data, like databases, are handled
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Enable jellyfin
|
||||||
|
services.jellyfin.enable = true;
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
virtualHosts = {
|
||||||
|
# Create a default vhost to deny traffic, so traffic has to actually match a vhost
|
||||||
|
default = {
|
||||||
|
default = true;
|
||||||
|
locations."/".return = "444";
|
||||||
|
};
|
||||||
|
"jellyfin" = {
|
||||||
|
listen = [
|
||||||
|
# Available on the local network (host managed by router)
|
||||||
|
{ addr = "jellyfin.backyard.lan"; port = 80; }
|
||||||
|
# Available by name on beatific (host managed by beatific module)
|
||||||
|
{ addr = "jellyfin.backyard.home"; port = 80; }
|
||||||
|
# Available by port on beatific until I solve DNS for non-NixOS hosts
|
||||||
|
{ addr = "10.22.20.8"; port = 8096; }
|
||||||
|
];
|
||||||
|
locations."/".extraConfig = ''
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_pass http://localhost:8096/;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80 # http
|
||||||
|
8096 # jellyfin
|
||||||
|
];
|
||||||
|
}
|
|
@ -36,6 +36,7 @@ in {
|
||||||
ssh = mkFlag "Default sshd settings";
|
ssh = mkFlag "Default sshd settings";
|
||||||
nebula = mkFlag "Default beatific nebula settings";
|
nebula = mkFlag "Default beatific nebula settings";
|
||||||
tvb = mkFlag "Default tvb account";
|
tvb = mkFlag "Default tvb account";
|
||||||
|
hosts = mkFlag "Default 10.22.20.* DNS host entries";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -153,5 +154,36 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(mkIf cfg.defaults.hosts {
|
||||||
|
# Create *.home host entries for all the beatific members
|
||||||
|
networking.hosts = {
|
||||||
|
"10.22.20.1" = [
|
||||||
|
"empyrean.home"
|
||||||
|
];
|
||||||
|
"10.22.20.2" = [
|
||||||
|
"catacomb.home"
|
||||||
|
];
|
||||||
|
"10.22.20.3" = [
|
||||||
|
"palamas.home"
|
||||||
|
];
|
||||||
|
"10.22.20.4" = [
|
||||||
|
"stagirite.home"
|
||||||
|
];
|
||||||
|
"10.22.20.5" = [
|
||||||
|
"vagrant.home"
|
||||||
|
];
|
||||||
|
"10.22.20.6" = [
|
||||||
|
"unfolder.home"
|
||||||
|
];
|
||||||
|
"10.22.20.7" = [
|
||||||
|
"centroid.home"
|
||||||
|
];
|
||||||
|
"10.22.20.8" = [
|
||||||
|
"backyard.home"
|
||||||
|
"jellyfin.backyard.home"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue