diff --git a/hardware/levitation.nix b/hardware/levitation.nix index b604245..43362dd 100644 --- a/hardware/levitation.nix +++ b/hardware/levitation.nix @@ -62,6 +62,10 @@ device = "10.0.0.139:/mnt/tank/root/shares/archive"; fsType = "nfs"; }; + fileSystems."/mnt/books" = { + device = "10.0.0.139:/mnt/tank/root/data/books"; + fsType = "nfs"; + }; swapDevices = [{ device = "/dev/disk/by-partuuid/f9d26ecd-7df5-48ad-bc19-b9ac4e91b0ee"; diff --git a/hardware/perception.nix b/hardware/perception.nix index cabda81..4bbeef3 100644 --- a/hardware/perception.nix +++ b/hardware/perception.nix @@ -42,6 +42,11 @@ fsType = "nfs"; }; + fileSystems."/mnt/books" = { + device = "10.0.0.139:/mnt/tank/root/data/books"; + fsType = "nfs"; + }; + swapDevices = [{ device = "/dev/disk/by-uuid/06554e1d-4e6f-4693-88cb-ababf5e98d3d"; }]; diff --git a/machines/perception/configuration.nix b/machines/perception/configuration.nix index e28d6e9..bfbd2a6 100644 --- a/machines/perception/configuration.nix +++ b/machines/perception/configuration.nix @@ -105,6 +105,12 @@ [ "/var/lib/jellyfin:/config" "/mnt/plex:/media" "/mnt/music:/music" ]; extraOptions = [ "--device=/dev/dri:/dev/dri" ]; }; + # Configure kavita + "kavita" = { + image = "kizaing/kavita:latest"; + ports = [ "5000:5000" ]; + volumes = [ "/var/lib/kavita:/kavita/config" "/mnt/books:/books" ]; + }; # Configure tatulli - Plex Stats "tautulli" = { image = "lscr.io/linuxserver/tautulli:latest"; diff --git a/machines/tounge/configuration.nix b/machines/tounge/configuration.nix index 208646e..60154f8 100644 --- a/machines/tounge/configuration.nix +++ b/machines/tounge/configuration.nix @@ -219,6 +219,16 @@ ''; }; }; + "kavita.mccarty.io" = { + forceSSL = true; + useACMEHost = "mccarty.io"; + locations."/" = { + proxyPass = "http://100.121.150.78:5000"; + extraConfig = '' + allow all; + ''; + }; + }; "calibre.mccarty.io" = { forceSSL = true; useACMEHost = "mccarty.io";