CVE and update status of the FreeBSD ports tree3,456 unaddressed CVEs in 716 portsAll times are CET
Port details

deskutils/py-paperless-ngx 2.20.2_2

Community-supported supercharged version of paperless

Port info

Maintainer
grembo@FreeBSD.org
Packages
latest: 2.20.2_2
Upstream
up to date
Last update
to 2.20.2_2 · 8302af3ee7
Quarterly
not in the 2026Q4 packages
WWW
https://docs.paperless-ngx.com
Links
cgit · VuXML · Report wrong data

Install

Package
# pkg install py312-paperless-ngx
installs 2.20.2_2 from latest
Port
# cd /usr/ports/deskutils/py-paperless-ngx && make install clean
# make -C /usr/ports/deskutils/py-paperless-ngx config  # change options first
Size
76 MiB download · 320 MiB installed
License
GPLv3
Creates
user paperless, group paperless
Options
3 of 6 on in the package: DOCS EXAMPLES IMAGICK7_X11
Show the 3 options that are off
IMAGICK6_NOX11 IMAGICK6_X11 IMAGICK7_NOX11
pkg-message
Shown after installing
Please see `man paperless-ngx' for details on how to configure paperless.
Shown after upgrading
After each upgrade, please check for differences between your config and
the sample configuration installed by the package:

    diff -u /usr/local/etc/paperless.conf \
           /usr/local/etc/paperless.conf.sample

Then merge in changes as required by editing
/usr/local/etc/paperless.conf.

Database migrations are run automatically on service start, but
it's recommended to run them explicitly, especially on major upgrades:

    service paperless-migrate onestart
Shown after upgrading
Configuration of NLTK data has been fixed in port version 2.7.2_1.

Please modify your /usr/local/etc/paperless.conf based on
`*NLTK*` settings found in /usr/local/etc/paperless.conf.sample.
Shown after upgrading
WARNING

In versions 2.16.0 - 2.16.3, the interpretation of offset days for
scheduled workflows was inverted. This has  been corrected to restore
the intuitive, pre-2.16 behavior:

    Positive offsets now trigger workflows after the date
    Negative offsets trigger workflows before the date

If you configured scheduled workflows in v2.16.x with inverted offsets
(or adjusted a trigger created in 2.15.x), you must now adjust the
offset sign to match this corrected logic.

If you did not alter your workflow triggers after upgrading from v2.15,
no changes are required.
Shown after upgrading
Starting with version 2.18, paperless-ngx uses ES6 module files using
the file extension `mjs`. These need to be served using the media type
`text/javascript`.

See /usr/local/share/examples/paperless-ngx/nginx.conf for an example
of how this can be configured when using nginx.
Shown after upgrading
Language data moved to /var/db/paperless/nltk_data, please change
NLTK_DIR in /usr/local/etc/paperless.conf accordingly.

Then re-download nltk data using:

  su -l paperless -c '/usr/local/bin/python3.12 -m nltk.downloader \
    stopwords snowball_data punkt_tab -d /var/db/paperless/nltk_data'

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 162.20.2_2✗–
FreeBSD 15✗✗–
FreeBSD 142.20.2_1✗✗

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 152.20.2_1✗–
FreeBSD 142.20.2_1✗✗

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Dependencies

Depends on 60

Run and library dependencies of the package on latest. Build dependencies are not in the package index.

Required by 0

No package on latest depends on it.

Packages on latest that depend on it directly.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 2.20.2_2.

Fixed (0)

No VuXML entries for this package.

Problem reports (4) · open in Bugzilla, most recently changed first

PRSummaryStatusChanged
298841maintainer-feedback? deskutils/py-paperless-ngx: missing dependency devel/py-cloudpickle?New2026-09-25
298584maintainer-feedback? deskutils/py-paperless-ngx should get ImageMagick version via default-version frameworkNew2026-09-16
297616maintainer-feedback? deskutils/py-paperless-ngx: consumer stops processing filesOpen2026-08-27
297201maintainer-feedback? deskutils/py-paperless-ngx: service paperless-worker doesn't startOpen2026-08-10

Commits (32)

Michael Gmelin (grembo) · 2.20.2_2
deskutils/py-paperless-ngx: Adapt to new nltk_data path

Reported by:	mfechner
8302af3ee7
Kai Knoblich (kai) · 2.20.2_1
deskutils/py-paperless-ngx: Move away from py-dj52-* ports

* The counterparts of the py-dj52-* ports were switched to Django 5.2
  in ce59801b72ef, thus move py-paperless-ngx to those ones.

* Rename py-dj52-django-treenode to py-django-treenode, since there's
  no equivalent for it yet.

* Bump PORTREVISION due changed dependencies.

PR:		291707
Approved by:	grembo (maintainer, via private mail)
d3d280dfc9
Xin LI (delphij) · 2.20.2
deskutils/py-paperless-ngx: Fix plist when building with Python 3.12.

PYTHON_SUFFIX was used in place of 311, but some of them were date.

Approved by:	build fix blanket
e30b3f08c0
Michael Gmelin (grembo) · 2.20.2
deskutils/py-paperless-ngx: Update to 2.20.2

Reported by:	Sebastian <sko@rostwald.de>
3e4d779017
Michael Gmelin (grembo) · 2.18.4_1
deskutils/py-paperless-ngx: Switch to Django 5.2
db69016f7a
Michael Gmelin (grembo) · 2.18.4
deskutils/py-paperless-ngx: Update to 2.18.4
80795fe096
Michael Gmelin (grembo) · 2.18.3_2
deskutils/py-paperless-ngx: Bump PORTREVISION

Updated required version of devel/py-inotifyrecursive
1884d389f2
Michael Gmelin (grembo) · 2.18.3_1
deskutils/py-paperless-ngx: Bump PORTREVISION

Updated required version of devel/py-inotifyrecursive
3152fe58ca
Michael Gmelin (grembo) · 2.18.3
deskutils/py-paperless-ngx: Update to 2.18.3
f8185294c7
Michael Gmelin (grembo) · 2.18.2_2
deskutils/py-paperless-ngx: Document media type requirements

Update example and add entry to pkg-message.

Reported by:	Sebastian <sko@rostwald.de>
1f78c0ebaa
Rene Ladan (rene) · 2.18.2_1
all: bump PORTREVISION after updating graphics/libyuv

Using the Tools/scripts/bump_revision.pl script
b304d8ab18
Michael Gmelin (grembo) · 2.18.2
deskutils/py-paperless-ngx: Update to 2.18.2
d770455da7
Michael Gmelin (grembo) · 2.17.1
deskutils/py-paperless-ngx: Update to 2.17.1

PR:		287939
Co-authored-by:	Sebastian <sko@rostwald.de>
159bd857b3
Charlie Li (vishwin) · 2.16.3
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc

EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.

Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.

Introduce PYTHON_SOABI to align with PEP 3149's specification of a
tag, which consists of implementation name, shorthand version and
any ABI flags present (this and PYTHON_TAG are identical without
ABI flags). This is meant for compiled extension module objects and
other files that depend on a specific Python ABI for the same
version.

Add documentation for these variables that our PYTHON_EXT_SUFFIX
never had.

PR: 274671
Event: Kitchener-Waterloo Hackathon 202506
4f0eba1efd
Michael Gmelin (grembo) · 2.16.3
deskutils/py-paperless-ngx: Update to 2.16.3

PR:		286952
Co-authored-by:	Michael Gmelin <grembo@FreeBSD.org>
9291c70f31
Michael Gmelin (grembo) · 2.15.3_1
deskutils/py-paperless-ngx: Fix custom webui endpoint

This brings back paperless_webui_listen_address and
paperless_webui_listen_port, which were turned into
noops by accident during the update.

PR:		286533
Reported by:	mfechner
fbac8b5cf2
Michael Gmelin (grembo) · 2.15.3
deskutils/py-paperless-ngx: Update to 2.15.3

PR:		286533
Co-authored-by:	Sebastian <sko@rostwald.de>
326c713988
Michael Gmelin (grembo) · 2.11.6_1
deskutils/py-paperless-ngx: Fix gotenberg-client integration

This is required to make paperless-ngx work with the updated
gotenberg-client (0.10.0).
28e575244c
Michael Gmelin (grembo) · 2.11.6_1
deskutils/py-paperless-ngx: Fixes to man page and examples
fa699c4851
Michael Gmelin (grembo) · 2.11.6_1
deskutils/py-paperless-ngx: Add tmpdir config to rc scripts
b93bfef9fd
Michael Gmelin (grembo) · 2.11.6
deskutils/py-paperless-ngx: Update to 2.11.6

This also fixes a problem when updating www/py-django-soft-delete
to versions >= 1.0.14.

PR:		282808
3962e5daf0
Gleb Popov (arrowd) · 2.11.0_1
deskutils/py-paperless-ngx: Fix manpage reference

Pull Request:	https://github.com/freebsd/freebsd-ports/pull/310
d2726a6377
Michael Gmelin (grembo) · 2.11.0
deskutils/py-paperless-ngx: Update to 2.11.0
85720b0155
Po-Chuan Hsieh (sunpoet) · 2.7.2_5
devel/py-pyyaml: Move devel/py-yaml to devel/py-pyyaml

- Bump PORTREVISION of dependent ports for dependency change
1a80ec7c22
Michael Gmelin (grembo) · 2.7.2_4
deskutils/py-paperless-ngx: Fix document classifier hanging (2)

Turn paperless symlink into wrapper, this way OMP_NUM_THREADS=1 is
also set when paperless is called outside rc scripts.

PR:		279011
Reported by:	freebsd.bugzilla@mail.tinsuke.com
aed26383cd
Michael Gmelin (grembo) · 2.7.2_3
deskutils/py-paperless-ngx: Fix document classifier hanging

Set OMP_NUM_THREADS=1 as a workaround (taken from NixOS port).

PR:		279011
Reported by:	freebsd.bugzilla@mail.tinsuke.com
3ace88e8ff
Kai Knoblich (kai) · 2.7.2_2
deskutils/py-paperless-ngx: Change RUN_DEPENDS

* Switch the port from the repo-copied py-dj42-django* ports to the
  original ones as they're using Django 4.2 now.

* Some ports were also created directly with a "py-dj42-" prefix to
  have a consistent naming scheme of Django 4.2 ports and had no
  Django 3.2 counterpart.

  After all Django consumers have been changed from Django 3.2 to
  Django 4.2 with 680c68fd4d69, these ports are now renamed accordingly.

  - From:       www/py-dj42-channels-redis
    To:         www/py-channels-redis
  - From:       www/py-dj42-django-auditlog
    To:         www/py-django-auditlog
  - From:       www/py-dj42-django-celery-results
    To:         www/py-django-celery-results
  - From:       www/py-dj42-django-compression-middleware
    To:         www/py-django-compression-middleware
  - From:       www/py-dj42-django-multiselectfield
    To:         www/py-django-multiselectfield
  - From:       www/py-dj42-django-restframework-guardian
    To:         www/py-django-restframework-guardian
  - From:       www/py-dj42-drf-writable-nested
    To:         www/py-drf-writable-nested

  Add related entries to MOVED as well.

* Bump PORTREVISION due changed dependencies.

PR:		276319
Approved by:	grembo (via e-mail)
1039ca2fe4
Michael Gmelin (grembo) · 2.7.2_1
deskutils/py-paperless-ngx: Fix pkg-message

MFH:		2024Q2
958270c5c9
Michael Gmelin (grembo) · 2.7.2_1
deskutils/py-paperless-ngx: Fixes and improvements

- Fix NLTK configuration in paperless.conf.sample
- Mention snowball_data in NLTK instructions
- Fix sad defect that prevented rc scripts from picking
  up configuration data from rc.conf
- Improve startup script documentation
- Document required ACL when using a remote redis instance
- Document how to enable JBIG2 and its potential pitfalls

PR:		278424, 278425, 278426
Reported by:	anonymous bugzilla user, netchild
MFH:		2024Q2
d716cbc8e9
Michael Gmelin (grembo) · 2.7.2
deskutils/py-paperless-ngx: Update to 2.7.2

Also, improve paperless-webui rc script to automatically generate
PAPERLESS_SECRET_KEY if not configured.
9b805ead54
Michael Gmelin (grembo) · 2.6.3
deskutils/py-paperless-ngx: Update to 2.6.3
7d0d35bf34
Michael Gmelin (grembo) · 2.5.0
deskutils/py-paperless-ngx: New port

Paperless-ngx is a document management system that transforms
your physical documents into a searchable online archive so you
can keep, well, less paper.

Paperless-ngx is the official successor to the original Paperless
and Paperless-ng projects.
61fe359cf6