diff --git a/hosts/server/natsu/services/caddy.nix b/hosts/server/natsu/services/caddy.nix
index eaae874..41007ce 100644
--- a/hosts/server/natsu/services/caddy.nix
+++ b/hosts/server/natsu/services/caddy.nix
@@ -1,8 +1,5 @@
{ pkgs, ... }:
-let
- streamPlayer = pkgs.writeTextDir "index.html" (builtins.readFile ./stream.html);
-in
{
services.caddy = {
enable = true;
@@ -96,22 +93,7 @@ in
'';
virtualHosts."stream.mizuki.guru".extraConfig = ''
- handle_path /hls/* {
- root * /var/lib/nginx-rtmp/hls
- header Cache-Control "no-store"
- file_server
- }
-
- handle /live/* {
- root * ${streamPlayer}
- rewrite * /index.html
- file_server
- }
-
- handle {
- root * ${streamPlayer}
- file_server
- }
+ reverse_proxy 127.0.0.1:10023
'';
virtualHosts."netbird.mizuki.guru".extraConfig = ''
diff --git a/hosts/server/natsu/services/stream.html b/hosts/server/natsu/services/stream.html
deleted file mode 100644
index a772227..0000000
--- a/hosts/server/natsu/services/stream.html
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
- stream.mizuki.guru
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hosts/server/natsu/services/stream.nix b/hosts/server/natsu/services/stream.nix
index 376f77f..889ca8f 100644
--- a/hosts/server/natsu/services/stream.nix
+++ b/hosts/server/natsu/services/stream.nix
@@ -1,78 +1,12 @@
-{ pkgs, ... }:
+{ ... }:
-let
- domain = "stream.mizuki.guru";
- hlsDir = "/var/lib/nginx-rtmp/hls";
- caddyCertDir = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${domain}";
-in
{
- services.nginx = {
+ services.owncast = {
enable = true;
- package = pkgs.nginx.override {
- modules = [ pkgs.nginxModules.rtmp ];
- };
-
- appendConfig = ''
- rtmp {
- server {
- listen 127.0.0.1:19350;
- chunk_size 4096;
-
- application live {
- live on;
- record off;
-
- hls on;
- hls_path ${hlsDir};
- hls_fragment 2s;
- hls_playlist_length 60s;
- hls_cleanup off;
- }
- }
- }
- '';
+ dataDir = "/data/owncast";
+ port = 10023;
+ listen = "0.0.0.0";
+ openFirewall = true;
+ rtmp-port = 1935;
};
-
- systemd.tmpfiles.rules = [
- "d /var/lib/nginx-rtmp 0755 nginx nginx - -"
- "d ${hlsDir} 0755 nginx nginx - -"
- ];
-
- users.users.caddy.extraGroups = [ "nginx" ];
-
- systemd.services.nginx.serviceConfig.ReadWritePaths = [
- "/var/lib/nginx-rtmp"
- ];
-
- systemd.services.stream-stunnel = {
- description = "RTMPS TLS terminator for stream.mizuki.guru";
- after = [
- "network-online.target"
- "caddy.service"
- "nginx.service"
- ];
- wants = [ "network-online.target" ];
- requires = [ "nginx.service" ];
- wantedBy = [ "multi-user.target" ];
-
- serviceConfig = {
- Type = "simple";
- User = "caddy";
- Group = "caddy";
- ExecStart = "${pkgs.stunnel}/bin/stunnel ${pkgs.writeText "stream-stunnel.conf" ''
- foreground = yes
- pid =
-
- [stream]
- accept = 0.0.0.0:1935
- connect = 127.0.0.1:19350
- cert = ${caddyCertDir}/${domain}.crt
- key = ${caddyCertDir}/${domain}.key
- ''}";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- networking.firewall.allowedTCPPorts = [ 1935 ];
}