aboutsummaryrefslogtreecommitdiff
path: root/modules/server/calibre
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
committeraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
commitbfd970a07c231b5781871c16cb4612eb4c6b8fd4 (patch)
tree50a4ac5138d1f438e4d5bad3a3dd880a0784cd3e /modules/server/calibre
parentadded flake (diff)
imported system/home-manager config
Diffstat (limited to 'modules/server/calibre')
-rw-r--r--modules/server/calibre/default.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/server/calibre/default.nix b/modules/server/calibre/default.nix
new file mode 100644
index 0000000..d177ac1
--- /dev/null
+++ b/modules/server/calibre/default.nix
@@ -0,0 +1,39 @@
+{ config, pkgs, ... }:
+let
+ libDir = "/var/lib/calibre-web/library";
+in {
+ services = {
+ calibre-web = {
+ enable = true;
+
+ listen = {
+ ip = "127.0.0.1";
+ port = 3020;
+ };
+
+ options = {
+ calibreLibrary = libDir;
+ enableBookUploading = true;
+ };
+ };
+
+ nginx = {
+ virtualHosts."library.internal" = {
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:3020";
+ proxyWebsockets = true;
+ };
+ };
+ };
+ };
+
+ systemd.services.calibre-web = {
+ preStart = ''
+ if [ ! -f "${libDir}/metadata.db" ]; then
+ mkdir -p "${libDir}"
+ ${pkgs.calibre}/bin/calibredb add --empty \
+ --with-library "${libDir}"
+ fi
+ '';
+ };
+}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.