From 0662b06df6cba77f00aa869450371b6e87cd60b5 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 21 Apr 2023 06:56:45 +0000 Subject: [PATCH] servo: try to ship calibre (but i get runtime errors, so disable it) --- hosts/by-name/servo/services/calibre.nix | 34 ++++++++++++++++++++++++ hosts/by-name/servo/services/default.nix | 1 + hosts/common/ids.nix | 2 ++ 3 files changed, 37 insertions(+) create mode 100644 hosts/by-name/servo/services/calibre.nix diff --git a/hosts/by-name/servo/services/calibre.nix b/hosts/by-name/servo/services/calibre.nix new file mode 100644 index 00000000..c39553d0 --- /dev/null +++ b/hosts/by-name/servo/services/calibre.nix @@ -0,0 +1,34 @@ +{ config, lib, ... }: + +let + cweb-cfg = config.services.calibre-web; + inherit (cweb-cfg) user group; + inherit (cweb-cfg.listen) ip port; + svc-dir = "/var/lib/${cweb-cfg.dataDir}"; +in +# XXX: disabled because of runtime errors like: +# > File "/nix/store/c7jqvx980nlg9xhxi065cba61r2ain9y-calibre-web-0.6.19/lib/python3.10/site-packages/calibreweb/cps/db.py", line 926, in speaking_language +# > languages = self.session.query(Languages) \ +# > AttributeError: 'NoneType' object has no attribute 'query' +lib.mkIf false +{ + sane.persist.sys.plaintext = [ + { inherit user group; mode = "0700"; directory = svc-dir; } + ]; + + services.calibre-web.enable = true; + services.calibre-web.listen.ip = "127.0.0.1"; + # XXX: externally populate `${svc-dir}/metadata.db` (once) from + # + # i don't know why you have to do this?? + # services.calibre-web.options.calibreLibrary = svc-dir; + + services.nginx.virtualHosts."calibre.uninsane.org" = { + addSSL = true; + enableACME = true; + locations."/" = { + proxyPass = "http://${ip}:${builtins.toString port}"; + }; + }; + sane.services.trust-dns.zones."uninsane.org".inet.CNAME."calibre" = "native"; +} diff --git a/hosts/by-name/servo/services/default.nix b/hosts/by-name/servo/services/default.nix index 6f839758..e3b10ff3 100644 --- a/hosts/by-name/servo/services/default.nix +++ b/hosts/by-name/servo/services/default.nix @@ -1,6 +1,7 @@ { ... }: { imports = [ + ./calibre.nix ./ddns-afraid.nix ./ddns-he.nix ./email diff --git a/hosts/common/ids.nix b/hosts/common/ids.nix index b2f023d9..65445f61 100644 --- a/hosts/common/ids.nix +++ b/hosts/common/ids.nix @@ -32,6 +32,8 @@ sane.ids.mautrix-signal.gid = 2404; sane.ids.navidrome.uid = 2405; sane.ids.navidrome.gid = 2405; + sane.ids.calibre-web.uid = 2406; + sane.ids.calibre-web.gid = 2406; sane.ids.colin.uid = 1000; sane.ids.guest.uid = 1100;