fruitbasket/modules/stream.nix

48 lines
1.2 KiB
Nix
Raw Normal View History

2022-09-22 10:36:34 +02:00
{pkgs, lib, config, ...}:
let
2022-09-28 13:49:18 +02:00
website = pkgs.fetchgit {
url = "ssh+git://git@github.com:fsr/fruitbasket.git";
2022-09-22 10:36:34 +02:00
rev = "1b380f3bfd48aae2a17aefbbdd0538f09b7d3bcf";
sha256 = "";
};
in {
services = {
nginx = {
virtualHosts = {
"stream-frontend.quitte.tassilo-tanneberger.de" = {
enableACME = true;
forceSSL = true;
locations."/" = {
2022-09-28 14:20:08 +02:00
root = "${../content/ese-stream/files/website}/";
2022-09-22 10:36:34 +02:00
proxyWebsockets = true;
};
};
"stream.ifsr.de" = {
2022-09-22 10:36:34 +02:00
enableACME = true;
forceSSL = true;
locations."/" = let
cfg = config.services.owncast;
in {
2022-09-28 08:06:27 +02:00
proxyPass = "http://${toString cfg.listen}:${toString cfg.port}";
2022-09-22 10:36:34 +02:00
proxyWebsockets = true;
};
};
};
2022-10-01 14:30:18 +02:00
streamConfig = ''
server {
listen 1935;
proxy_pass [::1]:1935;
proxy_buffer_size 32k;
}
'';
2022-09-22 10:36:34 +02:00
};
owncast = {
enable = true;
2022-09-28 14:26:13 +02:00
port = 13142;
2022-10-01 14:30:18 +02:00
listen = "[::ffff:127.0.0.1]";
openFirewall = true;
2022-10-01 14:30:18 +02:00
rtmp-port = 1935;
2022-09-22 10:36:34 +02:00
};
};
}