diff --git a/hosts/marvin/services/shelfmark.nix b/hosts/marvin/services/shelfmark.nix index a68fd61d..6ff6cb39 100644 --- a/hosts/marvin/services/shelfmark.nix +++ b/hosts/marvin/services/shelfmark.nix @@ -1,9 +1,4 @@ -{ - self, - config, - pkgs, - ... -}: +{ self, config, ... }: let d = self.lib.data.services.shelfmark; sec = config.age.secrets; @@ -12,34 +7,33 @@ in systemd.tmpfiles.settings = { "10-shelfmark" = { "/var/lib/shelfmark/config".d = { - user = "shelfmark"; - group = "shelfmark"; + user = "booklore"; + group = "booklore"; mode = "0750"; }; "/var/media/books/unorganized".d = { - user = "shelfmark"; - group = "shelfmark"; + user = "booklore"; + group = "booklore"; mode = "0666"; }; }; }; - - services.shelfmark = { - enable = true; + virtualisation.oci-containers.containers.shelfmark = { + image = "ghcr.io/calibrain/shelfmark:latest"; + ports = [ "${toString d.port}:8084" ]; + environmentFiles = [ sec.shelfmark-secrets.path ]; environment = { - FLASK_HOST = "0.0.0.0"; - FLASK_PORT = d.port; - # General settings + PUID = toString config.users.users.booklore.uid; + PGID = toString config.users.groups.booklore.gid; + + # General Config CALIBRE_WEB_URL = "https://lib.pyrox.dev"; SEARCH_MODE = "direct"; ONBOARDING = "false"; + USING_EXTERNAL_BYPASSER = "false"; # Downloads - INGEST_DIR = "/var/media/books/unorganized"; TEMPLATE_RENAME = "{Author} - {Title} ({Year})"; FILE_ORGANIZATION = "rename"; - # Flaresolverr - USING_EXTERNAL_BYPASSER = "true"; - EXT_BYPASSER_URL = "http://localhost:8191"; # Auth AUTH_METHOD = "oidc"; OIDC_DISCOVERY_URL = "https://auth.pyrox.dev/.well-known/openid-configuration"; @@ -52,17 +46,12 @@ in HARDCOVER_ENABLED = "true"; OPENLIBRARY_ENABLED = "true"; }; + volumes = [ + "/var/lib/shelfmark/config:/config" + "/var/media/books/unorganized:/books" + ]; }; - virtualisation.oci-containers.containers.byparr = { - image = "ghcr.io/thephaseless/byparr:latest"; - ports = [ "8191:8191" ]; - }; - - systemd.services.shelfmark.serviceConfig.EnvironmentFile = [ sec.shelfmark-secrets.path ]; - # Allow grimmory to delete files from INGEST_DIR - systemd.services.grimmory.serviceConfig.SupplementaryGroups = [ "shelfmark" ]; - age.secrets.shelfmark-secrets = { file = ./secrets/shelfmark-secrets.age; owner = "booklore";