
**************************
Frequently asked questions
**************************

**Q:** *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 garauntee the feature
will be implemented. This project will always be open to collaboration in the form of PRs,
ideas etc.

**Q:** *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

.. code::

    /var/lib/docker/volumes/paperless_media/_data

.. caution::

    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.

**Q:** *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
    :ref:`configuring the filename format <advanced-file_name_handling>`.
*   :ref:`The exporter <utilities-exporter>` is another easy way to get your files out of paperless with reasonable file names.

**Q:** *What file types does paperless-ngx support?*

**A:** Currently, the following files are supported:

*   PDF documents, PNG images, JPEG images, TIFF images and GIF 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 :ref:`Configuration <configuration-tika>`), 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.

**Q:** *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.

.. note::

    You can adjust some of the settings so that paperless uses less processing
    power. See :ref:`setup-less_powerful_devices` for details.


**Q:** *How do I install paperless-ngx on Raspberry Pi?*

**A:** Docker images are available for arm 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.

**Q:** *How do I run this on Unraid?*

**A:** Paperless-ngx is available as `community app <https://unraid.net/community/apps?q=paperless-ngx>`_
in Unraid. `Uli Fahrer <https://github.com/Tooa>`_ created a container template for that.

**Q:** *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.

**Q:** *How do I proxy this with NGINX?*

**A:** See :ref:`here <setup-nginx>`.

.. _faq-mod_wsgi:

**Q:** *How do I get WebSocket support with Apache mod_wsgi*?

**A:** ``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:

* ``gunicorn`` with ``uvicorn`` as the worker implementation (the default of paperless)
* ``daphne`` as a standalone server, which is the reference implementation for ASGI.
* ``uvicorn`` as a standalone server
