1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-23 17:56:53 +03:00
Commit graph

66 commits

Author SHA1 Message Date
Sandro Jäckel
36a3c6c11d
nixos/paperless: move paperless-manage to proper systemPackage 2025-02-27 21:47:35 +01:00
Sandro
df5ec1a2e0
nixos/paperless: #242084 follow up to fix defaultText (#373472) 2025-01-25 21:10:25 +01:00
Gerd Flaig
fe0b1ecf0a nixos/paperless: Support remote databases
When the database is on another host, unit isolation for the document
consumer and scheduler have to be disabled. This is currently enabled by
default via `PrivateNetwork = false` in defaultServiceConfig. Following
https://github.com/NixOS/nixpkgs/pull/368137#pullrequestreview-2522617890
making this conditional on the `database.createLocally` option.
2025-01-18 15:57:03 +01:00
Christian Theune
865ab91155 nixos/paperless: add module options for automated exports
Paperless includes a document exporter that can be used for e.g.
backups.

This change extends the module to provide a way to enable and configure
a timer, export settings, pre- and post-processing
scripts (e.g. to ship the backup somewhere else, clean up, ...).

It works out of the box when just enabling it but can be customized.

Includes suitable tests.
2025-01-06 08:26:23 +01:00
Sandro Jäckel
b069f4f185
nixos/paperless: remove django-q workaround
This was long ago migrated to celery
https://github.com/paperless-ngx/paperless-ngx/pull/1648
2024-12-13 15:48:28 +01:00
Bruno BELANYI
cf1f7c10f4 nixos/paperless: add 'database.createLocally' 2024-12-02 12:01:04 +00:00
Felix Buehler
9540ed8747 nixos/services.paperless: remove with lib; 2024-11-28 00:45:30 +01:00
Leona Maroni
1044b2ccdb
nixos/paperless: add environmentFile option (#350944) 2024-11-25 08:51:01 +01:00
Brendan Taylor
d581c42d5d nixos/paperless: add secretsFile option 2024-11-10 08:21:07 -07:00
Franz Pletz
0fc41ad977
treewide: Remove ineffective capability grants. (#333533) 2024-11-06 08:12:51 +01:00
Sandro Jäckel
c4a7c0fae5
nixos/paperless: fix shellcheck findings with enableStrictShellChecks enabled 2024-10-18 17:28:03 +02:00
Bjørn Forsman
48908e5b86 nixos: improve systemd slice names
Following
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Description=,
update slice names to be short, descriptive and capitalized.
2024-10-02 20:24:13 +02:00
Pascal Bach
b6c754755c nixos/paperless: fix documentation url
The original paperless project is archived

Co-authored-by: Antoine Martin <antoine97.martin@gmail.com>
2024-09-14 14:19:17 +02:00
Tomodachi94
b86ba024bd nixos/paperless: add system-paperless.slice
Non-breaking change.

Part of #279915.
2024-09-14 14:19:17 +02:00
Sandro Jäckel
bb69775568
paperless-ngx: drop inactive maintainers, add myself to maintainers 2024-08-25 21:39:54 +02:00
Eduard Bachmakov
cb10fe8aaf treewide: Remove ineffective capability grants.
Systemd units with `PrivateUsers` set get their capabilities within the user namespace only [1].
As a result they do cannot bind to privileged ports even though they *appear* like they should be able to.

The units in this commit [2] set `PrivateUsers` unconditionally so binding to privileged ports is currently impossible.
Granting them CAP_NET_BIND_SERVICE is useless and misleading any reader of those modules.
Technically, this commit also hardens these modules ever so slightly.

(There are corner cases where this could make sense (e.g. across units, using `JoinsNamspaceOf`) but this is arcane enough to not to be present in nixpkgs.)

[1]: systemd.exec(5): PrivateUsers
[2]: found using `rg -e 'PrivateUsers.?=\s+[^f][^a]' -l | xargs rg -e '\bCAP_' -l`
2024-08-09 23:10:30 +02:00
éclairevoyant
7d8742da87
treewide: fix mkEnableOption usage 2024-06-14 02:41:42 -04:00
e1mo
f0721f3779
nixos/paperless: Always buidl tesseract with english
With the changes introduced in #303388 tesseract would only be compiled
with the languages defined in `PAPERLESS_OCR_LANGUAGE`. However, english
is always required, making tesseract fail to build when only non-english
languages are defined in tesseract:

```
eng.traineddata must be present in tessdata for Tesseract to work
```
2024-04-19 10:47:54 +02:00
Leona Maroni
025d3a2f65
Merge pull request #303388 from SuperSandro2000/paperless-only-enabled-languages
nixos/paperless: override enabled tesseract languages with the in paperless configured ones
2024-04-14 14:59:33 +02:00
Sandro Jäckel
b579dac4ed
nixos/paperless: override enabled tesseract languages with the in paperless configured ones 2024-04-13 22:44:19 +02:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Casey Link
789684ad02
nixos/paperless: Switch to systemd.tmpfiles.settings
This option resolves #301746 by allowing the admin to bypass the
creation of the paperless directories by systemd-tmpfiles.

This is necessary when, for example, those directories lie inside an NFS
mount that the root user does not have rw access to.

Fixes #301746
2024-04-11 08:19:24 +02:00
Casey Link
9532793d59
nixos/paperless: refactor to use systemd LoadCredential
This replaces the paperless-copy-password service with the use of
systemd's LoadCredential mechanism.

It is not a breaking change since it is gated behind `cfg.passwordFile`.
2024-04-11 08:19:05 +02:00
Atemu
70fa188e17 nixos/paperless: set OMP_NUM_THREADS=1 by default
Fixes https://github.com/NixOS/nixpkgs/issues/240591
2024-03-26 17:56:01 +01:00
Sandro Jäckel
da1ccb628f
nixos/paperless: fix too many open files
paperless-web-start[658743]: kombu.exceptions.OperationalError: [Errno 24] Too many open files: '/nix/store/k6h0pihpi3ih31zjk6ragqcp4mjz4pjs-python3.11-concurrent-log-handler-0.9.24/lib/python3.11/site-packages/concurrent_log_handler-0.9.24.dist-info/entry_points.txt'
2024-03-02 17:52:18 +01:00
Flakebi
9db96ee839
paperless: fix uploading files via local folder
The consumer service needs to be in the same namespace as the
task-queue, otherwise they cannot see each others temporary files.
Same as for web uploading.

See also the discussion here:
https://github.com/paperless-ngx/paperless-ngx/discussions/5606
2024-02-28 09:14:48 +01:00
Atemu
f38bca1ca5
Merge pull request #279677 from leona-ya/paperless-nltk
nixos/paperless: use nltk_data package as NLTK data source
2024-02-01 16:59:28 +01:00
Leona Maroni
6300f478e9
nixos/paperless: use nltk_data package as NLTK data source
nixos
2024-02-01 16:53:34 +01:00
Luke Granger-Brown
23310f467a
Merge pull request #284980 from patka-123/update-paperless-service-example-doc
nixos/paperless: update extraConfig to settings in service docs.
2024-01-30 12:53:31 +00:00
Patka
3d028d17c9
nixos/paperless: update extraConfig to settings in service docs
Signed-off-by: Patka <patka@patka.dev>
2024-01-30 11:26:04 +01:00
Jade Lovelace
80edf319fe nixos/paperless: fix network-online.target dependencies 2024-01-18 16:28:41 -08:00
Sandro Jäckel
7c1b4b22f9
nixos/paperless: convert extraConfig to freeform type
Co-authored-by: Atemu <atemu.main@gmail.com>
2024-01-04 00:04:38 +01:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Matthias Riße
63ef033992 nixos/paperless: set PAPERLESS_SECRET_KEY
If the PAPERLESS_SECRET_KEY environment variable is left unset
paperless-ngx defaults to a well-known value, which is insecure.

Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
2023-10-27 21:11:01 +02:00
Leona Maroni
6249a0983d
nixos/paperless: fix start with latest systemd 2023-10-05 12:56:37 +02:00
Leona Maroni
87f21ac4e6
nixos/paperless: allow systemd services to read ca-certificates
This fixes a regression introduced with the update to 1.17.0.
Since this version paperless-ngx checks the ssl certificates of remote
email servers.
2023-08-25 16:54:04 +02:00
Gregor Godbersen
3d9a6399a1 nixos/paperless: set default thumbnail font
The upstream default for the thumbnail font is set to "Liberation Serif
Regular" located at /usr/share/fonts which is inaccessible under nix.
(2a2bf3bf55/src/paperless/settings.py (L894))

Paperless throws an error when parsing plaintext files without a valid
font. This change sets a nix default using the liberation_ttf package.
2023-08-05 22:06:27 +02:00
Elias Probst
2b0545b423
nixos/paperless: update URL to docs 2023-07-26 19:02:29 +02:00
Atemu
2616bb762b nixos/paperless: explain how to set JSON env vars
Co-authored-by: Christian Theune <ct@flyingcircus.io>
Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
2023-07-09 19:52:06 +02:00
Atemu
44f637aa8d nixos/paperless: use toShellVars for paperless-manage
The homebrewed snippet didn't escape vars properly which is an issue because
PAPERLESS_OCR_USER_ARGS requires a JSON string. This also meant a discrepancy
between the services' env vars and paperless-manage's.

Just use the correctly functioning library function for this instead.
2023-07-08 16:03:45 +02:00
Benjamin Staffin
211d94d70b
nixos/paperless: Enable UMask now that it works (#240010)
According to
https://github.com/NixOS/nixpkgs/issues/147599#issuecomment-1272286679
the bug that prevented this UMask directive from working has been fixed
in systemd, so it should be safe to use now.

This stops paperless-ngx from making everything world-readable on disk,
but it does not change permissions of any files previously created.
2023-06-28 10:48:25 -04:00
Leona Maroni
dd05e2a899 nixos/paperless: add leona as maintainer 2023-06-28 08:42:23 +08:00
Martin Puppe
ebdfdae156 nixos/paperless: download NLTK data
Since version 1.10.0 paperless-ngx depends on the NLTK library which is
used to pre-process data for machine learning. NLTK needs certain
data for stemming, stopword removal etc. This data has to be downloaded
first. This commit introduces a new systemd service that does the
downloading.
2023-02-23 21:34:49 +01:00
Martin Puppe
fa7fbe565d nixos/paperless: apply nixpkgs-fmt 2023-02-10 23:55:30 +01:00
Erik Arvstedt
a7d112b30a
nixos/paperless: Reindex documents after updating to 1.12.x
This causes a reindex of all documents to allow for comments made before
1.12.x to be searchable.

Also change the format of the version file to just include the version,
not the whole store path.
This simplifies version comparisons and causes migrations to run only
when the version has changed.

Co-Authored-By: Martin Weinelt <hexa@darmstadt.ccc.de>
2023-01-31 14:43:36 +01:00
Florian Brandes
b406baead8 nixos/paperless-ngx: reorder "after" keyword
Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2023-01-02 16:25:34 +01:00
Florian Brandes
5b6881f4a0 nixos/paperless-ngx: fix startup order
The nixOS test failed sporadically with a timeout.
This is due to a race condition in the startup  of
the scheduler vs the task-queue.

The scheduler runs the migration scripts in "pre-start" and
celery isn't available, yet. The celery worker (paperless-task-queue)
was already started by systemd but was unable to connect
(as the migration scripts from "pre-start" still ran).

This fix adds the necessary "after" condition in the systemd
worker unit and adds a test to "paperless"

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2023-01-02 15:21:45 +01:00
Leona Maroni
2d7b8ef56f
nixos/paperless: update for paperless-ngx 1.10.2 2022-12-25 23:07:44 +00:00
Erik Arvstedt
ecacff35a6
nixos/paperless: add required syscall
`unpaper` requires syscall 238 (`set_mempolicy`).
Add this by un-blocking the systemd syscall filter set `@resources`
which is safe in the context of paperless.
2022-09-22 08:14:21 +02:00
Erik Arvstedt
fdead18e9e
nixos/paperless: use python from pkg for gunicorn
This ensures that a compatible `gunicorn` is used when `pkg` is
overridden.
2022-09-12 09:20:53 +02:00