From d751ecdab76445beb208db81b21f277e8828b978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Thu, 8 Sep 2022 08:47:11 +0200 Subject: [PATCH] feat: add grimm dwb scroller --- flake.lock | 6 +++--- systems/makanek/configuration.nix | 1 + systems/makanek/grimm.nix | 30 ++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 systems/makanek/grimm.nix diff --git a/flake.lock b/flake.lock index 65107af..56a79e5 100644 --- a/flake.lock +++ b/flake.lock @@ -195,11 +195,11 @@ "scripts": { "flake": false, "locked": { - "lastModified": 1660677220, - "narHash": "sha256-cCmyI4CigWbeQ0wEiE9HSI2Hmd3Wi5P7jhdHX6bJkXU=", + "lastModified": 1662493500, + "narHash": "sha256-EdAEKDQ6z7oinqQ28ELE3+taJ106DgmhNJt/rpqHJic=", "owner": "kmein", "repo": "scripts", - "rev": "688e141047e831a7e5f58dd24e00de51a3cb2345", + "rev": "51c641ac3c1100d80313696663db70c2eb3698dc", "type": "github" }, "original": { diff --git a/systems/makanek/configuration.nix b/systems/makanek/configuration.nix index fca03b0..18f53e7 100644 --- a/systems/makanek/configuration.nix +++ b/systems/makanek/configuration.nix @@ -17,6 +17,7 @@ in { ./monitoring ./moodle-dl-borsfaye.nix ./names.nix + ./grimm.nix ./nextcloud.nix ./radio-news.nix ./radio.nix diff --git a/systems/makanek/grimm.nix b/systems/makanek/grimm.nix new file mode 100644 index 0000000..04c27c6 --- /dev/null +++ b/systems/makanek/grimm.nix @@ -0,0 +1,30 @@ +{pkgs, ...}: let + port = 9610; + web-socket-sink-src = "${}/grimm-scroller"; + web-socket-sink = pkgs.callPackage web-socket-sink-src {}; + lemmata = "${web-socket-sink-src}/dwb-compact.json"; +in { + systemd.services.grimm-ws = { + wantedBy = ["multi-user.target"]; + script = "${web-socket-sink}/bin/web-socket-sink --host 0.0.0.0 --port ${toString port} < ${lemmata}"; + serviceConfig = { + Restart = "always"; + DynamicUser = true; + }; + }; + + services.nginx.virtualHosts."grimm.kmein.de" = { + enableACME = false; + forceSSL = false; + locations = { + "/".root = pkgs.linkFarm "grimm" [ + { + name = "index.html"; + path = "${web-socket-sink-src}/wclient.html"; + } + ]; + }; + }; + + networking.firewall.allowedTCPPorts = [port]; +}