From 4e8f2535b9d7816e92a080a9c2dd7a733827645c Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Fri, 11 Jul 2025 21:31:41 +0200 Subject: [PATCH] Services/Paperless: Update to v2.17.1 --- system/services/paperless.nix | 164 +++++++++++++++++----------------- 1 file changed, 84 insertions(+), 80 deletions(-) diff --git a/system/services/paperless.nix b/system/services/paperless.nix index 729a5947..a84a1a20 100644 --- a/system/services/paperless.nix +++ b/system/services/paperless.nix @@ -3,102 +3,106 @@ lib, pkgs, ... -}: { - virtualisation.oci-containers.containers.paperless-redis = { - image = "redis:7"; - autoStart = true; +}: let + paperlessVersion = "2.17.1"; +in { + virtualisation.oci-containers.containers = { + paperless-redis = { + image = "redis:7"; + autoStart = true; - login = { - # Uses DockerHub by default - # registry = ""; + login = { + # Uses DockerHub by default + # registry = ""; - # DockerHub Credentials - username = "christoph.urlacher@protonmail.com"; - passwordFile = "${config.sops.secrets.docker-password.path}"; + # DockerHub Credentials + username = "christoph.urlacher@protonmail.com"; + passwordFile = "${config.sops.secrets.docker-password.path}"; + }; + + dependsOn = []; + + ports = []; + + volumes = [ + "paperless-redis_data:/data" + ]; + + environment = {}; + + extraOptions = [ + "--net=behind-nginx" + ]; }; - dependsOn = []; + paperless-postgres = { + image = "postgres:15"; + autoStart = true; - ports = []; + login = { + # Uses DockerHub by default + # registry = ""; - volumes = [ - "paperless-redis_data:/data" - ]; + # DockerHub Credentials + username = "christoph.urlacher@protonmail.com"; + passwordFile = "${config.sops.secrets.docker-password.path}"; + }; - environment = {}; + dependsOn = []; - extraOptions = [ - "--net=behind-nginx" - ]; - }; + ports = []; - virtualisation.oci-containers.containers.paperless-postgres = { - image = "postgres:15"; - autoStart = true; + volumes = [ + "paperless-postgres_data:/var/lib/postgresql/data" + ]; - login = { - # Uses DockerHub by default - # registry = ""; + environment = { + POSTGRES_DB = "paperless"; + POSTGRES_USER = "paperless"; + POSTGRES_PASSWORD = "paperless"; + }; - # DockerHub Credentials - username = "christoph.urlacher@protonmail.com"; - passwordFile = "${config.sops.secrets.docker-password.path}"; + extraOptions = [ + "--net=behind-nginx" + ]; }; - dependsOn = []; + paperless = { + image = "ghcr.io/paperless-ngx/paperless-ngx:${paperlessVersion}"; + autoStart = true; - ports = []; + dependsOn = [ + "paperless-redis" + "paperless-postgres" + ]; - volumes = [ - "paperless-postgres_data:/var/lib/postgresql/data" - ]; + ports = [ + "8000:8000" + ]; - environment = { - POSTGRES_DB = "paperless"; - POSTGRES_USER = "paperless"; - POSTGRES_PASSWORD = "paperless"; + volumes = [ + "paperless_data:/usr/src/paperless/data" + "/media/paperless-media:/usr/src/paperless/media" + "/media/paperless-export:/usr/src/paperless/export" + "/media/paperless-consume:/usr/src/paperless/consume" + ]; + + environment = { + PAPERLESS_REDIS = "redis://paperless-redis:6379"; + PAPERLESS_DBHOST = "paperless-postgres"; + + # PAPERLESS_ADMIN_USER = "root"; + # PAPERLESS_ADMIN_PASSWORD = "admin"; + + PAPERLESS_URL = "https://*.chriphost.de"; + # PAPERLESS_CSRF_TRUSTED_ORIGINS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + # PAPERLESS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + # PAPERLESS_CORS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; + }; + + extraOptions = [ + "--net=behind-nginx" + ]; }; - - extraOptions = [ - "--net=behind-nginx" - ]; - }; - - virtualisation.oci-containers.containers.paperless = { - image = "ghcr.io/paperless-ngx/paperless-ngx:latest"; - autoStart = true; - - dependsOn = [ - "paperless-redis" - "paperless-postgres" - ]; - - ports = [ - "8000:8000" - ]; - - volumes = [ - "paperless_data:/usr/src/paperless/data" - "/media/paperless-media:/usr/src/paperless/media" - "/media/paperless-export:/usr/src/paperless/export" - "/media/paperless-consume:/usr/src/paperless/consume" - ]; - - environment = { - PAPERLESS_REDIS = "redis://paperless-redis:6379"; - PAPERLESS_DBHOST = "paperless-postgres"; - - # PAPERLESS_ADMIN_USER = "root"; - # PAPERLESS_ADMIN_PASSWORD = "admin"; - - PAPERLESS_URL = "https://*.chriphost.de"; - # PAPERLESS_CSRF_TRUSTED_ORIGINS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; - # PAPERLESS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; - # PAPERLESS_CORS_ALLOWED_HOSTS = "[https://paperless.local.chriphost.de,https://paperless.vps.chriphost.de]"; - }; - - extraOptions = [ - "--net=behind-nginx" - ]; }; }