diff --git a/nixos/hosts/ingress-proxy/default.nix b/nixos/hosts/ingress-proxy/default.nix index 52a5742..06b7290 100644 --- a/nixos/hosts/ingress-proxy/default.nix +++ b/nixos/hosts/ingress-proxy/default.nix @@ -36,7 +36,7 @@ in rec { se.servers."${tsHost "sapphic-engineer" 4000}" = {}; git.servers."${tsHost "git" 3000}" = {}; staticsites.servers."${tsHost "static-sites" 80}" = {}; - owncast.servers."${tsHost "owncast" 8080}" = {}; + ldr.servers."${tsHost "live-doll-repair" 80}" = {}; }; proxyCachePath."pdr" = { @@ -101,7 +101,7 @@ in rec { "live.doll.repair" = { locations."/" = { recommendedProxySettings = true; - proxyPass = "http://owncast"; + proxyPass = "http://ldr"; proxyWebsockets = true; }; } // defaultConfig; diff --git a/nixos/hosts/live-doll-repair/default.nix b/nixos/hosts/live-doll-repair/default.nix index d2b7cae..a1bd8c1 100644 --- a/nixos/hosts/live-doll-repair/default.nix +++ b/nixos/hosts/live-doll-repair/default.nix @@ -7,4 +7,82 @@ networking.hostName = "live-doll-repair"; system.stateVersion = "24.05"; nixpkgs.hostPlatform = "x86_64-linux"; + + services.nginx = { + enable = true; + additionalModules = [ + pkgs.nginxModules.rtmp + ]; + + virtualHosts."live.doll.repair" = { + locations."/" = { + root = pkgs.writeTextDir "index.html" '' + + + + + + + + + ''; + }; + + locations."/stream" = { + root = "/tmp"; + extraConfig = '' + autoindex on; + add_header Cache-Control no-cache; + types { + application/vnd.apple.mpegurl m3u8; + video/mp2t ts; + application/dash+xml mpd; + } + ''; + }; + locations."/stream-dash" = { + root = "/tmp"; + extraConfig = '' + autoindex on; + add_header Cache-Control no-cache; + types { + application/vnd.apple.mpegurl m3u8; + video/mp2t ts; + application/dash+xml mpd; + } + ''; + }; + }; + + appendConfig = '' + rtmp { + server { + listen 1935; + chunk_size 4096; + + application live { + live on; + + allow publish 100.64.0.0/10; + deny publish all; + deny play all; + + hls on; + hls_path /tmp/stream; + hls_playlist_length 2s; + hls_fragment 1s; + hls_continuous on; + + dash on; + dash_path /tmp/stream-dash; + } + } + } + ''; + }; } diff --git a/nixos/hosts/monitoring/default.nix b/nixos/hosts/monitoring/default.nix index 56358c5..6570baf 100644 --- a/nixos/hosts/monitoring/default.nix +++ b/nixos/hosts/monitoring/default.nix @@ -52,13 +52,19 @@ }; in with ports; [ (static "aerial" [ node ]) - (static "ps2live" [ node ]) - (static "keylime" [ node ]) (static "cider" [ node ]) - (static "monitoring" [ node ]) + (static "git" [ node ]) (static "ingress-proxy" [ node nginx ]) + (static "keylime" [ node ]) + (static "live-doll-repair" [ node ]) + (static "monitoring" [ node ]) + (static "nas0" [ node ]) + (static "pihole" [ node ]) (static "porcelain-doll-repair" [ node ]) + (static "ps2live" [ node ]) (static "sapphic-engineer" [ node ]) + (static "static-sites" [ node nginx ]) + (static "ts3" [ node ]) { job_name = "pve_node"; static_configs = [