diff --git a/modules/nixos/bundles/server.nix b/modules/nixos/bundles/server.nix index b7f4b53..dfad192 100644 --- a/modules/nixos/bundles/server.nix +++ b/modules/nixos/bundles/server.nix @@ -7,6 +7,7 @@ # keep-sorted start "bazarr" "caddy" + "calibre-server" "copyparty" "couchdb" "firefly" @@ -14,7 +15,6 @@ "immich" "jellyfin" "karakeep" - "kavita" "lidarr" "miniflux" "ntfy-sh" diff --git a/modules/nixos/features/calibre-server.nix b/modules/nixos/features/calibre-server.nix new file mode 100644 index 0000000..129d639 --- /dev/null +++ b/modules/nixos/features/calibre-server.nix @@ -0,0 +1,23 @@ +let + port = 5011; + certloc = "/var/lib/acme/fi33.buzz"; +in +{ + services = { + calibre-server = { + enable = true; + extraFlags = [ "--trusted-ips=127.0.0.1" ]; + group = "srv"; + host = "127.0.0.1"; + inherit port; + libraries = [ "/media/media/books" ]; + }; + + caddy.virtualHosts."calibre.fi33.buzz".extraConfig = '' + reverse_proxy localhost:${toString port} + tls ${certloc}/cert.pem ${certloc}/key.pem { + protocols tls1.3 + } + ''; + }; +} diff --git a/modules/nixos/features/homepage-dashboard.nix b/modules/nixos/features/homepage-dashboard.nix index 3ab99c5..28caf74 100644 --- a/modules/nixos/features/homepage-dashboard.nix +++ b/modules/nixos/features/homepage-dashboard.nix @@ -192,18 +192,18 @@ in }; }; } - { - "Kavita" = { - "description" = "Book reader"; - "icon" = "kavita.svg"; - "href" = "https://kavita.fi33.buzz/"; - "widget" = { - "type" = "kavita"; - "url" = "https://kavita.fi33.buzz/"; - "key" = "@kavita-api@"; - }; - }; - } + # { + # "Kavita" = { + # "description" = "Book reader"; + # "icon" = "kavita.svg"; + # "href" = "https://kavita.fi33.buzz/"; + # "widget" = { + # "type" = "kavita"; + # "url" = "https://kavita.fi33.buzz/"; + # "key" = "@kavita-api@"; + # }; + # }; + # } { "Karakeep" = { "description" = "Web clipper"; @@ -245,6 +245,13 @@ in } { "Services" = [ + { + "Calibre Server" = { + "description" = "Calibre library manager"; + "icon" = "calibre.svg"; + "href" = "https://calibre.fi33.buzz/"; + }; + } { "copyparty" = { "description" = "Cloud file manager";