Merge pull request #207754 from leona-ya/paperless-ngx/fix-module-1.10.2

fixes https://github.com/NixOS/nixpkgs/issues/207965

authored by

Sandro and committed by
GitHub
ad8ae1b2 a2c1f555

+21 -8
+18 -8
nixos/modules/services/misc/paperless.nix
··· 211 211 ]; 212 212 213 213 systemd.services.paperless-scheduler = { 214 - description = "Paperless scheduler"; 214 + description = "Paperless Celery Beat"; 215 215 serviceConfig = defaultServiceConfig // { 216 216 User = cfg.user; 217 - ExecStart = "${pkg}/bin/paperless-ngx qcluster"; 217 + ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO"; 218 218 Restart = "on-failure"; 219 - # The `mbind` syscall is needed for running the classifier. 220 - SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; 221 - # Needs to talk to mail server for automated import rules 222 - PrivateNetwork = false; 223 219 }; 224 220 environment = env; 225 221 wantedBy = [ "multi-user.target" ]; 226 - wants = [ "paperless-consumer.service" "paperless-web.service" ]; 222 + wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ]; 227 223 228 224 preStart = '' 229 225 ln -sf ${manage} ${cfg.dataDir}/paperless-manage ··· 248 244 ''; 249 245 } // optionalAttrs enableRedis { 250 246 after = [ "redis-paperless.service" ]; 247 + }; 248 + 249 + systemd.services.paperless-task-queue = { 250 + description = "Paperless Celery Workers"; 251 + serviceConfig = defaultServiceConfig // { 252 + User = cfg.user; 253 + ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO"; 254 + Restart = "on-failure"; 255 + # The `mbind` syscall is needed for running the classifier. 256 + SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; 257 + # Needs to talk to mail server for automated import rules 258 + PrivateNetwork = false; 259 + }; 260 + environment = env; 251 261 }; 252 262 253 263 # Reading the user-provided password file requires root access ··· 301 311 }; 302 312 # Allow the web interface to access the private /tmp directory of the server. 303 313 # This is required to support uploading files via the web interface. 304 - unitConfig.JoinsNamespaceOf = "paperless-scheduler.service"; 314 + unitConfig.JoinsNamespaceOf = "paperless-task-queue.service"; 305 315 # Bind to `paperless-scheduler` so that the web server never runs 306 316 # during migrations 307 317 bindsTo = [ "paperless-scheduler.service" ];
+3
pkgs/applications/office/paperless-ngx/default.nix
··· 200 200 makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \ 201 201 --prefix PYTHONPATH : "$PYTHONPATH" \ 202 202 --prefix PATH : "${path}" 203 + makeWrapper ${python.pkgs.celery}/bin/celery $out/bin/celery \ 204 + --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/paperless-ngx/src" \ 205 + --prefix PATH : "${path}" 203 206 ''; 204 207 205 208 checkInputs = with python.pkgs.pythonPackages; [