diff --git a/modules/nixos/services/booklore/default.nix b/modules/nixos/services/booklore/default.nix new file mode 100644 index 0000000..ca93d22 --- /dev/null +++ b/modules/nixos/services/booklore/default.nix @@ -0,0 +1,46 @@ +{ + lib, + config, + namespace, + ... +}: +with lib; +let + name = "booklore"; + cfg = config.${namespace}.services.${name}; + + bookloreConfig = lib.${namespace}.mkModule { + inherit config name; + serviceName = "podman-${name}"; + description = "booklore"; + options = { }; + moduleConfig = { + virtualisation.oci-containers.containers.${name} = { + autoStart = true; + image = "booklore/booklore"; + volumes = [ + "${cfg.configDir}/booklore:/app/data" + "${cfg.configDir}/bookdrop:/bookdrop" + "${cfg.dataDir}/books:/books" + ]; + ports = [ + "${toString cfg.port}:6060" + ]; + environment = { + DATABASE_URL = "jdbc:mariadb://localhost:3306/booklore"; + DATABASE_USERNAME = "booklore"; + # DATABASE_PASSWORD = ${DB_PASSWORD}; + PUID = cfg.puid; + PGID = cfg.pgid; + TZ = cfg.timeZone; + }; + }; + }; + }; +in +{ + imports = [ bookloreConfig ]; +} + - ./data:/app/data + - ./books:/books + - ./bookdrop:/bookdrop \ No newline at end of file diff --git a/systems/x86_64-linux/jallen-nas/apps.nix b/systems/x86_64-linux/jallen-nas/apps.nix index f3e3d67..78c88ce 100755 --- a/systems/x86_64-linux/jallen-nas/apps.nix +++ b/systems/x86_64-linux/jallen-nas/apps.nix @@ -43,6 +43,10 @@ in port = 4822; # environmentFile = "/run/secrets/jallen-nas/authentik-env"; # TODO }; + booklore = { + enable = true; + port = 6060; + }; caddy = disabled; calibre = { enable = false; diff --git a/systems/x86_64-linux/jallen-nas/services.nix b/systems/x86_64-linux/jallen-nas/services.nix index 04625a8..b2f6dde 100755 --- a/systems/x86_64-linux/jallen-nas/services.nix +++ b/systems/x86_64-linux/jallen-nas/services.nix @@ -91,7 +91,9 @@ port = 3306; }; initialDatabases = [ - "booklore" + { + name = "booklore"; + } ]; ensureUsers = [ {