diff --git a/hosts/voyager/configuration.nix b/hosts/voyager/configuration.nix index b933aee..21edbc3 100644 --- a/hosts/voyager/configuration.nix +++ b/hosts/voyager/configuration.nix @@ -10,15 +10,16 @@ ./exports.nix ./filesystems.nix - ./services/snappymail.nix ./services/calibre.nix ./services/fancontrol.nix ./services/jellyfin.nix ./services/kanidm.nix + ./services/komga.nix ./services/nextcloud.nix ./services/nginx ./services/podgrab.nix ./services/postgres.nix + ./services/snappymail.nix ./services/timemachine.nix ./services/transmission.nix ]; diff --git a/hosts/voyager/services/calibre.nix b/hosts/voyager/services/calibre.nix index 8af24b0..2b90897 100644 --- a/hosts/voyager/services/calibre.nix +++ b/hosts/voyager/services/calibre.nix @@ -6,10 +6,16 @@ let in { services = { nginx.virtualHosts.${domain} = { - locations."/".proxyPass = - "http://${cfg.listen.ip}:${toString cfg.listen.port}"; - locations."/opds".proxyPass = - "http://${cfg.listen.ip}:${toString cfg.listen.port}"; + locations = { + "/".proxyPass = "http://${cfg.listen.ip}:${toString cfg.listen.port}"; + "/opds".proxyPass = "http://${cfg.listen.ip}:${toString cfg.listen.port}"; + }; + extraConfig = '' + client_max_body_size 512M; + proxy_busy_buffers_size 512k; + proxy_buffers 4 512k; + proxy_buffer_size 256k; + ''; }; calibre-server = { @@ -26,6 +32,7 @@ in { options = { calibreLibrary = storage; enableBookConversion = true; + enableKepubify = true; enableBookUploading = true; }; }; diff --git a/hosts/voyager/services/komga.nix b/hosts/voyager/services/komga.nix new file mode 100644 index 0000000..39346c8 --- /dev/null +++ b/hosts/voyager/services/komga.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: +let + domain = "komga.home.feal.no"; + cfg = config.services.komga; +in { + services.nginx.virtualHosts.${domain} = { + locations."/".proxyPass = "http://127.0.0.1:${toString cfg.port}"; + + extraConfig = '' + client_max_body_size 512M; + ''; + }; + + services.komga = { + enable = true; + stateDir = "/tank/media/komga"; + port = 8034; + }; +}