Paperless-ngx is a document management system that turns physical documents into a searchable online archive. You scan or upload paper documents (invoices, tax records, contracts, letters) and it indexes them so you can find any document again by searching its text rather than digging through folders. It's built for individuals and households who want to stop keeping filing cabinets full of paper, and for anyone comfortable running a self-hosted Docker service on their own server.
docker compose configurations.Paperless-ngx fits anyone trying to go paperless at home or in a small office, and comfortable running a self-hosted app to do it:
It is explicitly not a good fit for untrusted or shared hosting: the project's own documentation is direct about this, warning that information is stored in clear text without encryption and that Paperless-ngx should never be run on an untrusted host. The recommended setup is a local server in your own home with backups in place, so if you need a document store you can access from anywhere with hosting-provider-grade security guarantees baked in, this isn't that.
The easiest deployment method is docker compose. The project provides an install script that sets up a working docker compose environment for you:
bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"
This pulls the pre-built image from the GitHub container registry and configures the compose files for you, rather than requiring you to build from source. The project's documentation site has step-by-step guides for alternative installation methods if you'd rather not use the install script, or if you want to customize the compose setup yourself.
If you're already running Paperless-ng, upgrading is simpler than a fresh install: you just point your existing compose setup at the new Paperless-ngx Docker image and follow the documented migration steps, no data export or reimport required.
Since Paperless-ngx stores everything unencrypted, plan your hosting environment before you start feeding it documents. Run it on hardware you control (a home server or NAS on your own network), keep it off the public internet unless it sits behind a properly secured reverse proxy and VPN, and set up regular backups of the data volumes. The documentation covers this in more detail alongside the standard setup instructions, and a public demo (login demo / demo, reset frequently) is available if you want to click through the interface before installing anything.