{ config, pkgs, lib, mkDomain, ... }:
{

  # OwnCast
  # self-hosted video live streaming solution

  services.owncast = {
    # the default /admin account is admin:abc123, don't enable if you don't intend to change it!
    enable = true;
    port = 3456; # default is 8080
    rtmp-port = 1935; # remember to punch a TCP hole in the NAT
    #listen = "0.0.0.0"; # default is "127.0.0.1"
    openFirewall = true; # the rtmp port, and the http port if listen != "127.0.0.1"
  };
  services.nginx.virtualHosts.${mkDomain "owncast"} = lib.mkIf config.services.owncast.enable {
    forceSSL = true; # addSSL = true;
    enableACME = true; #useACMEHost = acmeDomain;
    locations."/" = {
      proxyPass = "http://127.0.0.1:${toString config.services.owncast.port}";
      proxyWebsockets = true;
    };
  };

}
