summary refs log tree commit diff
path: root/nixos/modules/services/misc/paperless.nix
diff options
context:
space:
mode:
authorLeona Maroni <dev@leona.is>2022-12-25 23:07:17 +0000
committerLeona Maroni <dev@leona.is>2022-12-25 23:07:44 +0000
commit2d7b8ef56f960645cf4833426e354ac90e3b4c45 (patch)
tree7262b2a22787617540f52048a6ea7946c5baaece /nixos/modules/services/misc/paperless.nix
parentbfad8cd5e0c52e2c8db7dab6a843c8d0f0e89f59 (diff)
downloadnixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar.gz
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar.bz2
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar.lz
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar.xz
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.tar.zst
nixpkgs-2d7b8ef56f960645cf4833426e354ac90e3b4c45.zip
nixos/paperless: update for paperless-ngx 1.10.2
Diffstat (limited to 'nixos/modules/services/misc/paperless.nix')
-rw-r--r--nixos/modules/services/misc/paperless.nix26
1 files changed, 18 insertions, 8 deletions
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index 6a98d5cb686..33a8394dff2 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -211,19 +211,15 @@ in
     ];
 
     systemd.services.paperless-scheduler = {
-      description = "Paperless scheduler";
+      description = "Paperless Celery Beat";
       serviceConfig = defaultServiceConfig // {
         User = cfg.user;
-        ExecStart = "${pkg}/bin/paperless-ngx qcluster";
+        ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
         Restart = "on-failure";
-        # The `mbind` syscall is needed for running the classifier.
-        SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
-        # Needs to talk to mail server for automated import rules
-        PrivateNetwork = false;
       };
       environment = env;
       wantedBy = [ "multi-user.target" ];
-      wants = [ "paperless-consumer.service" "paperless-web.service" ];
+      wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ];
 
       preStart = ''
         ln -sf ${manage} ${cfg.dataDir}/paperless-manage
@@ -250,6 +246,20 @@ in
       after = [ "redis-paperless.service" ];
     };
 
+    systemd.services.paperless-task-queue = {
+      description = "Paperless Celery Workers";
+      serviceConfig = defaultServiceConfig // {
+        User = cfg.user;
+        ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO";
+        Restart = "on-failure";
+        # The `mbind` syscall is needed for running the classifier.
+        SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
+        # Needs to talk to mail server for automated import rules
+        PrivateNetwork = false;
+      };
+      environment = env;
+    };
+
     # Reading the user-provided password file requires root access
     systemd.services.paperless-copy-password = mkIf (cfg.passwordFile != null) {
       requiredBy = [ "paperless-scheduler.service" ];
@@ -301,7 +311,7 @@ in
       };
       # Allow the web interface to access the private /tmp directory of the server.
       # This is required to support uploading files via the web interface.
-      unitConfig.JoinsNamespaceOf = "paperless-scheduler.service";
+      unitConfig.JoinsNamespaceOf = "paperless-task-queue.service";
       # Bind to `paperless-scheduler` so that the web server never runs
       # during migrations
       bindsTo = [ "paperless-scheduler.service" ];