Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Paperless-ngx Docker

Featured Replies

1 hour ago, peace-keeping-villa8590 said:

I got paperless up and running and then, after processing 2,000 + documents, the documents were still in the consume folder. So...... I deleted them. This happened a few days ago. For an unrelated reason, I had to restart the container and every time I start the container, it completely crashes my server. The logs say

File "/usr/src/paperless/src/documents/consumer.py", line 148, in _fail

raise ConsumerError(f"{self.filename}: {log_message or message}") from exception

documents.consumer.ConsumerError: T93271.pdf: Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,539] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[7924107e-32c7-4baf-95ae-76757047cafe] received

[2025-07-31 08:27:26,546] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[4a0e1579-57f3-40f2-8542-014482815659] received

[2025-07-31 08:27:26,552] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[a59a85a7-4aea-49f1-b152-222694fca0b2] received

[2025-07-31 08:27:26,558] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[a9ff1658-1414-4403-93e4-a9f238d39278] received

[2025-07-31 08:27:26,564] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[13cdf592-2e15-44b5-a2d6-c6d6268e2f77] received

[2025-07-31 08:27:26,571] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[cc8df2bf-556c-4d5d-824f-b94bbedbc869] received

[2025-07-31 08:27:26,575] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,577] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[6c9453de-8d0f-4409-bb05-ec1e1fda1dfb] received

[2025-07-31 08:27:26,573] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,573] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,574] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,576] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,577] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,579] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[2025-07-31 08:27:26,584] [INFO] [celery.worker.strategy] Task documents.tasks.consume_file[e787a14d-4df0-4905-8a7c-2c502a1e167d] received

[2025-07-31 08:27:26,579] [ERROR] [paperless.consumer] Cannot consume /usr/src/paperless/consume/"radacted": File not found.

[INFO] Shutting down granian

Is there an easier way to resolve this issue? I managed to get my server back up and running by disabling paperless-ngx container.

I guess the fix was easier than I thought. Thank you... zfs snapshots. I'm glad I have it the script to turn folders into datasets and the script for auto snapshots. Saved me a lot of pain. Still have to reprocess all the files but saved me from going through the process of uploading the files remotely.

  • 2 months later...
  • Replies 290
  • Views 193.7k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I installed these 2 containers: Repository: gotenberg/gotenberg Repository: apache/tika In Paperless i added these 3 varibles: Name / Key:    PAPERLESS_TIKA_ENABLED Value:    1

  • Enter your PAPERLESS_REDIS without brackets

  • Unraid 6.11.5, Docker version status for paperless-ngx has been "not available" for around a day. I update these things routinely so it's odd. db-backup docker also in this state but only those 2 (of

Posted Images

Need help with .yml

Hi. I am using the code for my paperless_ngx.yml from this guide within portainer (on unraid of course):

https://mariushosting.com/how-to-install-paperless-ngx-on-your-synology-nas-with-mariadb/

It works so far, but I am unsure if everything is correct within the code, because some lines are red, although I get no error messages in portainer. Maybe somebody can help me getting a clean code?

services:

redis:

image: redis:8

command:

- /bin/sh

- -c

- redis-server --requirepass redispass

container_name: PaperlessNGX-REDIS

hostname: paper-redis

mem_limit: 512m

mem_reservation: 256m

cpu_shares: 768

security_opt:

- no-new-privileges:true

read_only: true

user: 99:100

healthcheck:

test: ["CMD-SHELL", "redis-cli ping || exit 1"]

volumes:

- /mnt/user/appdata/paperlessngx/redis:/data:rw

environment:

TZ: Europe/Berlin

restart: on-failure:5

db:

image: mariadb:11.4-noble #LTS Long Time Support Until May 29, 2029.

container_name: PaperlessNGX-DB

security_opt:

- no-new-privileges:false

hostname: paper-db

environment:

MYSQL_DATABASE: paperless

MYSQL_USER: paperlessuser

MYSQL_PASSWORD: paperlesspass

MYSQL_ROOT_PASSWORD: rootpass

TZ: Europe/Berlin

volumes:

- /mnt/user/appdata/paperlessngx/db:/var/lib/mysql:rw

restart: on-failure:5

phpmyadmin:

image: phpmyadmin

hostname: paperlessngx-phpmyadmin

healthcheck:

test: curl -f http://localhost:80/ || exit 1

container_name: PaperlessNGX-phpMyAdmin

ports:

- 2980:80

environment:

PMA_HOST: paper-db

PMA_PORT: 3306

restart: on-failure:5

gotenberg:

image: gotenberg/gotenberg:latest

container_name: PaperlessNGX-GOTENBERG

hostname: gotenberg

security_opt:

- no-new-privileges:true

user: 99:100

command:

- "gotenberg"

- "--chromium-disable-javascript=true"

- "--chromium-allow-list=file:///tmp/.*"

- "--api-timeout=300s"

restart: on-failure:5

tika:

image: ghcr.io/paperless-ngx/tika:latest

container_name: PaperlessNGX-TIKA

hostname: tika

security_opt:

- no-new-privileges:true

user: 99:100

restart: on-failure:5

paperless:

image: ghcr.io/paperless-ngx/paperless-ngx:latest

container_name: PaperlessNGX

hostname: paperless-ngx

mem_limit: 6g

cpu_shares: 1024

security_opt:

- no-new-privileges:true

healthcheck:

test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]

interval: 30s

timeout: 10s

retries: 5

ports:

- 8777:8000

volumes:

- /mnt/user/appdata/paperlessngx/data:/usr/src/paperless/data

- /mnt/user/Dokumenten-Archiv/media:/usr/src/paperless/media

- /mnt/user/appdata/paperlessngx/export:/usr/src/paperless/export

- /mnt/user/Dokumenten-Archiv/consume:/usr/src/paperless/consume

- /mnt/user/appdata/paperlessngx/trash:/usr/src/paperless/trash

environment:

PAPERLESS_REDIS: redis://:redispass@paper-redis:6379

PAPERLESS_DBENGINE: mariadb

PAPERLESS_DBHOST: paper-db

PAPERLESS_DBNAME: paperless

PAPERLESS_DBUSER: paperlessuser

PAPERLESS_DBPASS: paperlesspass

PAPERLESS_EMPTY_TRASH_DIR: ../trash

PAPERLESS_FILENAME_FORMAT: '{{ created_year }}/{{ correspondent }}/{{ document_type }}/{{ title }}'

PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: 6

PAPERLESS_TASK_WORKERS: 1

USERMAP_UID: 99

USERMAP_GID: 100

PAPERLESS_SECRET_KEY: dOxZYTTZgXKMHkqLBIQVImayQXAVWdzGBPuFJKggzcgvgPJPXpWzqzKaUOIOGGIr

PAPERLESS_TIME_ZONE: Europe/Berlin

PAPERLESS_ADMIN_USER: superuser

PAPERLESS_ADMIN_PASSWORD: AntjeSylvio11

PAPERLESS_URL: https://paperlessngx.yourname.synology.me

PAPERLESS_CSRF_TRUSTED_ORIGINS: https://paperlessngx.yourname.synology.me

PAPERLESS_OCR_LANGUAGE: deu+eng

PAPERLESS_TIKA_ENABLED: 1

PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000

PAPERLESS_TIKA_ENDPOINT: http://tika:9998

restart: on-failure:5

depends_on:

db:

condition: service_started

redis:

condition: service_healthy

tika:

condition: service_started

gotenberg:

condition: service_started

  • 2 weeks later...

Pulling my hair out!

I want to have document ID added to each artefact as a TAG. Have tried a million prompts with no luck.

Ant help appreciated

  • 1 month later...

Quite a few people mentioned problems with some (or the majority) of files remaining in the queue without being processed further. I have encountered that problem for quite a while. Last time, I especially made sure that I restarted the container so that it wouldn't be started after the Redis server. Everything seems to work fine there, also the Paperless log doesn't show any errors.

How have you guys fixed that problem? What configuration do you use concerning Paperless checking the consume folder?

Help would be much appreciated!

EDIT: SOLVED! the placeholder needs to be {{doc_url}} instead of {doc_url}!

Hi,

did anyone got it working to send the doc_url as a parameter from a webhook? I've tried multiple things, setting up the image again, setting different PAPERLESS_URL env vars, etc. But it always sends "url=%7Bdoc_url%7D". I'm using the official community applications template.

PAPERLESS_URL value is http://192.168.178.XXX:8001 (unraid ip and paperless port)

The webhook is executed succesfully, but the content is always empty. My goal is, after a document has been added to send it to n8n, which will then monitor this particular document for specific paperless-gpt tags to see if processing is done.

Workflow:
image.png

Edited by ruhrpotter

Out of nowhere my paperless would not start anymore. I hope this saves someone some time troubleshooting the problem.

I got the following errors in the log:

Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 382, in execute
    settings.INSTALLED_APPS
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 201, in __init__
    raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE)
ValueError: Incorrect timezone setting: CET
s6-rc: warning: unable to start service init-migrations: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 382, in execute
    settings.INSTALLED_APPS
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 201, in __init__
    raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE)
ValueError: Incorrect timezone setting: CET

It took my quite some time to find out what was wrong:

grafik.png

I had to change PAPERLESS_TIME_ZONE to Europe/Berlin. I don`t know why CET is no longer working for me. You can find the time

zones names here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

I also changed PAPERLESS_FILENAME_FORMAT to {{ created }}-{{ correspondent }}-{{ title }} technically this was just a warning and no error but the new format requires {{ instead of {

  • 2 months later...
On 11/27/2025 at 12:49 PM, Hiko0 said:

Quite a few people mentioned problems with some (or the majority) of files remaining in the queue without being processed further. I have encountered that problem for quite a while. Last time, I especially made sure that I restarted the container so that it wouldn't be started after the Redis server. Everything seems to work fine there, also the Paperless log doesn't show any errors.

How have you guys fixed that problem? What configuration do you use concerning Paperless checking the consume folder?

Help would be much appreciated!

Anyone?

3 hours ago, Hiko0 said:

it wouldn't be started after the Redis server.

Might have done the opposite of what's needed.

Redis needs to be running first, if it's not already available when paperless starts than consume won't work.

  • 4 weeks later...
On 2/11/2026 at 6:52 PM, Kilrah said:

Might have done the opposite of what's needed.

Redis needs to be running first, if it's not already available when paperless starts than consume won't work.

Thanks for the suggestion. That's exactly what I wanted to say: I make sure, Redis starts first, then Paperless. Also when I update Redis, I stop the Paperless container and only restart it after the Redis update was finished.


Edit: Turns out, the problem was, that I was sharing my Redis instance between several services. And apparently Paperless doesn't like this.

Edited by Hiko0

  • 1 month later...

Since the last update of my paperless-ngx the docker container crashes after starting. Redis conatiner is running, thia is the log:

text  error  warn  system  array  login  

  File "/usr/local/bin/wait-for-redis.py", line 12, in <module>
    import click
ModuleNotFoundError: No module named 'click'
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
s6-rc: warning: unable to start service init-migrations: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Traceback (most recent call last):
  File "/usr/local/bin/wait-for-redis.py", line 12, in <module>
    import click
ModuleNotFoundError: No module named 'click'
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
s6-rc: warning: unable to start service init-migrations: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Traceback (most recent call last):
  File "/usr/local/bin/wait-for-redis.py", line 12, in <module>
    import click
ModuleNotFoundError: No module named 'click'
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
s6-rc: warning: unable to start service init-migrations: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
s6-rc: warning: unable to start service init-migrations: command exited 1
Traceback (most recent call last):
  File "/usr/local/bin/wait-for-redis.py", line 12, in <module>
    import click
ModuleNotFoundError: No module named 'click'
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
[init-migrations] Apply database migrations...
[init-start] paperless-ngx docker container starting...
[init-start] paperless-ngx docker container starting init as root
[env-init] Checking for environment from files
[env-init] No *_FILE environment found
[init-tesseract-langs] Checking if additional teseract languages needed
Installing languages...
[init-redis-wait] Waiting for Redis to report ready
[init-db-wait] Database is ready
[init-user] No UID changes for paperless
[init-user] No GID changes for paperless
[init-folders] Running with root privileges, adjusting directories and permissions
[init-tesseract-langs] Package tesseract-ocr-deu already installed!
[init-tesseract-langs] Additional packages installed
[init-migrations] Apply database migrations...
[init-start] paperless-ngx docker container starting...
[init-start] paperless-ngx docker container starting init as root
[env-init] Checking for environment from files
[env-init] No *_FILE environment found
[init-redis-wait] Waiting for Redis to report ready
[init-db-wait] Database is ready
[init-tesseract-langs] Checking if additional teseract languages needed
Installing languages...
[init-user] No UID changes for paperless
[init-user] No GID changes for paperless
[init-folders] Running with root privileges, adjusting directories and permissions
[init-migrations] Apply database migrations...
[init-tesseract-langs] Package tesseract-ocr-deu already installed!
[init-tesseract-langs] Additional packages installed
[init-start] paperless-ngx docker container starting...
[init-start] paperless-ngx docker container starting init as root
[env-init] Checking for environment from files
[env-init] No *_FILE environment found
[init-tesseract-langs] Checking if additional teseract languages needed
[init-db-wait] Database is ready
Installing languages...
[init-redis-wait] Waiting for Redis to report ready
[init-user] No UID changes for paperless
[init-user] No GID changes for paperless
[init-folders] Running with root privileges, adjusting directories and permissions
[init-migrations] Apply database migrations...
[init-tesseract-langs] Package tesseract-ocr-deu already installed!
[init-tesseract-langs] Additional packages installed

** Press ANY KEY to close this window ** 

Any idea what goes wrong here?

  • 2 weeks later...

Hi all!

Apparently, I deleted my paperless-ngx docker...
The data (documents, ...) still exists in user/appdata/paperless-ngx

Is this a way to create the docker again, without initialising the database, to retrieve all documents? (ideally, with the indexes and tags in place)

Go to Apps->Previous Apps and reinstall from there.

16 hours ago, Kilrah said:

Go to Apps->Previous Apps and reinstall from there.

Thanks a lot!

I didn't notice the previous App , and the reinstall option...
It worked like a charmed!!!

  • 1 month later...

On 2/25/2025 at 2:03 AM, nice83 said:

I have a problem with my Docker container Paperless-NGX since the last update. The error messages are either “Authentication Required” or “Invalid username, password pair, or user is disabled

I encountered a similar issue and found that in my case it related to an apparent change in behaviour of the redis container. My redis container's "Password" field was set with a value in the format "a--b--c--d" being several words separated by double-dashes. As of a recent update redis now appears to strip out the dashes entirely, resulting in my redis password actually being "abcd" instead. My fix was to update my paperless connect string to use the dash-less password and that immediately fixed the issue for me. Obviously I also could have considered changing both the redis and paperless docker parameter passwords to just not use dashes.

I'm running paperless on Unraid, latest version of Paperless.

I get the following error and Paperless will not process emails:

ermissionError: [Errno 13] Permission denied: '/tmp/paperless/paperless-mail-uhlf5w97.eml'

[2026-06-11 16:07:30,258] [ERROR] [paperless.tasks] ConsumerPreflightPlugin failed: [Errno 13] Permission denied: '/tmp/paperless/paperless-mail-g064pw6m/hexabyte-cloud-invoice-10145.pdf'

Traceback (most recent call last):

File "/usr/src/paperless/src/documents/tasks.py", line 183, in consume_file

msg = plugin.run()

^^^^^^^^^^^^

File "/usr/src/paperless/src/documents/consumer.py", line 883, in run

self.pre_check_file_exists()

File "/usr/src/paperless/src/documents/consumer.py", line 798, in pre_check_file_exists

if not self.input_doc.original_file.is_file():

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/local/lib/python3.12/pathlib.py", line 892, in is_file

return S_ISREG(self.stat().st_mode)

^^^^^^^^^^^

File "/usr/local/lib/python3.12/pathlib.py", line 840, in stat

return os.stat(self, follow_symlinks=follow_symlinks)

How do I fix this? I tried restarting the container, saw it doing something with the permissions /tmp, but the error persists.

  • 3 weeks later...
On 6/5/2026 at 11:08 PM, Zambuck said:

I encountered a similar issue and found that in my case it related to an apparent change in behaviour of the redis container. My redis container's "Password" field was set with a value in the format "a--b--c--d" being several words separated by double-dashes. As of a recent update redis now appears to strip out the dashes entirely, resulting in my redis password actually being "abcd" instead. My fix was to update my paperless connect string to use the dash-less password and that immediately fixed the issue for me. Obviously I also could have considered changing both the redis and paperless docker parameter passwords to just not use dashes.

Thank you for this. Removing dashes from the password in my paperless connect string worked for me.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.