{ lib, ... }: let port = lib.custom.autoport "kavita"; in { systemd.tmpfiles.rules = [ "d /var/lib/kavita" "d /var/lib/kavita/config" "d /var/lib/kavita/manga" "d /var/lib/kavita/comics" "d /var/lib/kavita/books" ]; services.caddy.virtualHosts."library.wanderingcrow.net".extraConfig = '' reverse_proxy http://localhost:${builtins.toString port} ''; virtualisation.quadlet = { containers = { kavita.containerConfig = { image = "ghcr.io/kareadita/kavita:latest"; publishPorts = [ "${builtins.toString port}:5000" ]; environments = { TZ="America/New_York"; }; volumes = [ "/var/lib/kavita/config:/kavita/config" "/var/lib/kavita/manga:/manga" "/var/lib/kavita/comics:/comics" "/var/lib/kavita/books:/books" ]; }; }; }; }