diff --git a/modules/nixos/bundles/server.nix b/modules/nixos/bundles/server.nix index b7f4b53..b2aada5 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" 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..3d470c8 100644 --- a/modules/nixos/features/homepage-dashboard.nix +++ b/modules/nixos/features/homepage-dashboard.nix @@ -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";