diff --git a/hosts/nixos/HandlerOne/backup.nix b/hosts/nixos/HandlerOne/backup.nix index 279d299..af5deef 100644 --- a/hosts/nixos/HandlerOne/backup.nix +++ b/hosts/nixos/HandlerOne/backup.nix @@ -24,6 +24,7 @@ let "/var/lib/tuwunel" "/var/lib/paperless/export" "/var/lib/octoprint" + "/var/lib/komga" ]; }; diff --git a/hosts/nixos/HandlerOne/default.nix b/hosts/nixos/HandlerOne/default.nix index 68fb170..59a6277 100644 --- a/hosts/nixos/HandlerOne/default.nix +++ b/hosts/nixos/HandlerOne/default.nix @@ -43,6 +43,7 @@ "modules/quadlets" "modules/quadlets/frigate" "modules/quadlets/actualbudget" + "modules/quadlets/komga" # Hosted services "modules/services/system-logging/prometheus-server.nix" diff --git a/modules/quadlets/komga/default.nix b/modules/quadlets/komga/default.nix new file mode 100644 index 0000000..e918da3 --- /dev/null +++ b/modules/quadlets/komga/default.nix @@ -0,0 +1,30 @@ +{ lib, ... }: +let + port = lib.custom.autoport "komga"; +in +{ + systemd.tmpfiles.rules = [ + "d /var/lib/komga" + "d /var/lib/komga/config" + "d /var/lib/komga/data" + ]; + + services.caddy.virtualHosts."library.wanderingcrow.net".extraConfig = '' + reverse_proxy http://localhost:25600 + ''; + + virtualisation.quadlet = { + containers = { + komga.containerConfig = { + image = "ghcr.io/gotson/komga:latest"; + publishPorts = [ + "25600:25600" + ]; + volumes = [ + "/var/lib/komga/config:/config" + "/var/lib/komga/data:/data" + ]; + }; + }; + }; +}