mirror of
https://github.com/kmein/niveum
synced 2026-03-19 19:41:08 +01:00
feat(makanek): run tarot service on tarot.kmein.r
This commit is contained in:
35
configs/tarot.nix
Normal file
35
configs/tarot.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
tarotPort = 7407;
|
||||||
|
tarotFiles = pkgs.fetchzip {
|
||||||
|
url = "https://c.krebsco.de/tarot.zip";
|
||||||
|
sha256 = "0jl5vdwlj17pqp94yj02xgsb1gyvs9i08m83kac0jdnhfjl2f75a";
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
krebs.htgen.tarot = {
|
||||||
|
port = tarotPort;
|
||||||
|
user.name = "radio";
|
||||||
|
script = ''. ${pkgs.writers.writeDash "tarot" ''
|
||||||
|
case "$Method $Request_URI" in
|
||||||
|
"GET /")
|
||||||
|
if item=$(find ${toString tarotFiles} -type f | shuf -n1); then
|
||||||
|
printf 'HTTP/1.1 200 OK\r\n'
|
||||||
|
printf 'Content-Type: %s\r\n' "$(file -ib $item)"
|
||||||
|
printf 'Server: %s\r\n' "$Server"
|
||||||
|
printf 'Connection: close\r\n'
|
||||||
|
printf 'Content-Length: %d\r\n' $(wc -c < $item)
|
||||||
|
printf '\r\n'
|
||||||
|
cat $item
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
''}'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts."tarot.kmein.r" = {
|
||||||
|
locations."/".proxyPass = "http://127.0.0.1:${toString tarotPort}";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -65,6 +65,7 @@ in
|
|||||||
<niveum/configs/weechat.nix>
|
<niveum/configs/weechat.nix>
|
||||||
<niveum/configs/urlwatch.nix>
|
<niveum/configs/urlwatch.nix>
|
||||||
<niveum/configs/matterbridge.nix>
|
<niveum/configs/matterbridge.nix>
|
||||||
|
<niveum/configs/tarot.nix>
|
||||||
<niveum/modules/retiolum.nix>
|
<niveum/modules/retiolum.nix>
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user