Paperless-ngx
| Description / name | Input element |
|---|---|
| Container Registry | |
| Container Configuration Root Path | |
| Timezone | |
| User ID | |
| Group ID | |
| Paperless-ngx Host Port | |
| Paperless-ngx /config Path |
A community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.
| Port | 8000 |
| Registry | ghcr.io/daemonless/paperless-ngx |
| Daemonless | daemonless/paperless-ngx |
| Source | paperless-ngx/paperless-ngx |
| Website | paperless-ngx.org |
Version Tags
| Tag | Description | Best For |
|---|---|---|
latest |
Built from latest upstream release and quarterly FreeBSD packages. | Most users — recommended. |
Parts
| Service | Image | Role | |
|---|---|---|---|
| paperless-ngx | ghcr.io/daemonless/paperless-ngx:latest |
docs | |
| redis | ghcr.io/daemonless/redis:latest |
docs |
Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions, including the security model for host vs. container privileges.
Deployment
1. Save as .env and fill in what is empty:
2. Save as compose.yaml:
Then run podman-compose up -d.
Save the files above, then run appjail-director up.
Open http://<server>:8000 from another machine (the server's own browser can't use a published port).
Interactive Configuration
Parameters
Environment Variables
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
User ID for the application process |
PGID |
1000 |
Group ID for the application process |
TZ |
UTC |
Timezone for the container |
PAPERLESS_REDIS |
redis://${REDIS_HOSTNAME:-localhost}:6379 |
|
PAPERLESS_ADMIN_USER |
admin |
Set name of the admin user on first start |
PAPERLESS_ADMIN_PASSWORD |
<PAPERLESS_ADMIN_PASSWORD> |
Set password of the admin user on first start |
CONFIG_LOCATION |
/containers/paperless-ngx/config |
Path to store configuration, database and (by default) documents |
DOCUMENTS_LOCATION |
`` | Optional separate document store (originals, archive, thumbnails), e.g. its own ZFS filesystem |
REDIS_DATA_LOCATION |
/containers/paperless-ngx/redis |
Path to store the redis data |
REDIS_HOSTNAME |
`` | Where paperless finds redis (fjord sets this; localhost on host networking) |
Volumes
| Path | Description |
|---|---|
/config |
Configuration directory |
Ports
| Port | Protocol | Description |
|---|---|---|
8000 |
TCP | Web UI |
5555 |
TCP | Flower monitoring UI available at '/flower', optional |
Upgrade to v3
Pre-Requisites
Upgrading to Paperless-ngx v3 can only be performed from version 2.20.15. If you are running an older version, please upgrade to v2.20.15 before proceeding with the v3 upgrade.
Breaking Changes
Paperless-ngx v3 introduced some changes to the configuration. Read the official v3 Migration Guide to make sure you adapt your configuration so that it works with v3.
Database migration
The DB migration will run automatically when the container starts.
First time setup
To configure the admin user with a password during the first startup, you can define some additional environment variables in your container file:
These 2 variables can be removed after the initial setup was done and paperless won't change an existing admin user's password when these vars are defined.Configuration
Configuration is best done using a .env file next to your compose.yaml.
If no .env file is in compose.yaml, paperless-ngx will use default values.
Documents directory
If you want to keep your documents in a separate ZFS filesystem, you can mount it at /config/media/documents.
This directoru should contain these 3 directories:
Implementation Details
- Architectures: amd64
- User:
bsd(UID/GID set via PUID/PGID). Defaults to1000:1000. - Base: Built on
ghcr.io/daemonless/base(FreeBSD 15.1).
Need help? Join our Discord community.