Frequently Asked Questions
What's the general plan for Paperless-ngx?
A: While Paperless-ngx is already considered largely "feature-complete" it is a community-driven project and development will be guided in this way. New features can be submitted via GitHub discussions and "up-voted" by the community but this is not a guarantee the feature will be implemented. This project will always be open to collaboration in the form of PRs, ideas etc.
I'm using docker. Where are my documents?
A: Your documents are stored inside the docker volume
paperless_media. Docker manages this volume automatically for you. It
is a persistent storage and will persist as long as you don't
explicitly delete it. The actual location depends on your host operating
system. On Linux, chances are high that this location is
Do not mess with this folder. Don't change permissions and don't move files around manually. This folder is meant to be entirely managed by docker and paperless.
Let's say I want to switch tools in a year. Can I easily move to other systems?
A: Your documents are stored as plain files inside the media folder. You can always drag those files out of that folder to use them elsewhere. Here are a couple notes about that.
- Paperless-ngx never modifies your original documents. It keeps checksums of all documents and uses a scheduled sanity checker to check that they remain the same.
- By default, paperless uses the internal ID of each document as its filename. This might not be very convenient for export. However, you can adjust the way files are stored in paperless by configuring the filename format.
- The exporter is another easy way to get your files out of paperless with reasonable file names.
What file types does paperless-ngx support?
A: Currently, the following files are supported:
- PDF documents, PNG images, JPEG images, TIFF images, GIF images and WebP images are processed with OCR and converted into PDF documents.
- Plain text documents are supported as well and are added verbatim to paperless.
- With the optional Tika integration enabled (see Tika configuration, Paperless also supports various Office documents (.docx, .doc, odt, .ppt, .pptx, .odp, .xls, .xlsx, .ods).
Paperless-ngx determines the type of a file by inspecting its content. The file extensions do not matter.
Will paperless-ngx run on Raspberry Pi?
A: The short answer is yes. I've tested it on a Raspberry Pi 3 B. The long answer is that certain parts of Paperless will run very slow, such as the OCR. On Raspberry Pi, try to OCR documents before feeding them into paperless so that paperless can reuse the text. The web interface is a lot snappier, since it runs in your browser and paperless has to do much less work to serve the data.
You can adjust some of the settings so that paperless uses less processing power. See setup for details.
How do I install paperless-ngx on Raspberry Pi?
A: Docker images are available for armv7 and arm64 hardware, so just follow the docker-compose instructions. Apart from more required disk space compared to a bare metal installation, docker comes with close to zero overhead, even on Raspberry Pi.
If you decide to got with the bare metal route, be aware that some of the python requirements do not have precompiled packages for ARM / ARM64. Installation of these will require additional development libraries and compilation will take a long time.
How do I run this on Unraid?
A: Paperless-ngx is available as community app in Unraid. Uli Fahrer created a container template for that.
How do I run this on my toaster?
A: I honestly don't know! As for all other devices that might be able to run paperless, you're a bit on your own. If you can't run the docker image, the documentation has instructions for bare metal installs. I'm running paperless on an i3 processor from 2015 or so. This is also what I use to test new releases with. Apart from that, I also have a Raspberry Pi, which I occasionally build the image on and see if it works.
How do I proxy this with NGINX?
A: See the wiki.
How do I get WebSocket support with Apache mod_wsgi?
mod_wsgi by itself does not support ASGI. Paperless will
continue to work with WSGI, but certain features such as status
notifications about document consumption won't be available.
If you want to continue using
mod_wsgi, you will have to run an
ASGI-enabled web server as well that processes WebSocket connections,
and configure Apache to redirect WebSocket connections to this server.
Multiple options for ASGI servers exist:
uvicornas the worker implementation (the default of paperless)
daphneas a standalone server, which is the reference implementation for ASGI.
uvicornas a standalone server