Skip to content
This repository has been archived by the owner on Feb 19, 2021. It is now read-only.

consumer not running in Synology Docker #706

Open
landcraft opened this issue Oct 25, 2020 · 9 comments
Open

consumer not running in Synology Docker #706

landcraft opened this issue Oct 25, 2020 · 9 comments

Comments

@landcraft
Copy link

I used the example files to run docker-compose the 2 containers, and the set up was successful, however the consumer container keep restarting every few seconds, and so far, no documents have been scanned.

running docker logs, I get this:

Operations to perform: Apply all migrations: admin, auth, contenttypes, documents, reminders, sessions Running migrations: No migrations to apply. Starting document consumer at /consume with inotify Traceback (most recent call last): File "/usr/src/paperless/src/manage.py", line 11, in <module> execute_from_command_line(sys.argv) File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 365, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **cmd_options) File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 335, in execute output = self.handle(*args, **options) File "/usr/src/paperless/src/documents/management/commands/document_consumer.py", line 97, in handle self.loop_inotify(mail_delta) File "/usr/src/paperless/src/documents/management/commands/document_consumer.py", line 127, in loop_inotify inotify.add_watch(directory, flags.CLOSE_WRITE | flags.MOVED_TO) File "/usr/lib/python3.8/site-packages/inotify_simple/inotify_simple.py", line 110, in add_watch return _libc_call(_libc.inotify_add_watch, self.fd, path, mask) File "/usr/lib/python3.8/site-packages/inotify_simple/inotify_simple.py", line 73, in _libc_call raise OSError(errno, os.strerror(errno)) PermissionError: [Errno 13] Permission denied

Any ideas?

@landcraft
Copy link
Author

I should add that I've also tried setting it up within Docker in my DSM, and I seem to be facing a similar issue - continuous restarts

@Tooa
Copy link

Tooa commented Oct 26, 2020

Maybe the container does not have permission to access the ./consume directory on your host. What is the full path of the ./consume directory on your host? How do the permissions look like? Can you try giving it less restrictive permissions? Does it work then?

@landcraft
Copy link
Author

I set the UID & GID to a user on my Synology that has access rights to the folder. Is there something else I need to do?

@Selfmade-RuLeZ
Copy link

Selfmade-RuLeZ commented Nov 18, 2020

Got the same error.
If I'm in the container, I can touch and remove files.
So I think it has something todo with the document_consumer.py script or something else

Edit:
Running it with this command works. Maybe the docker-entrypoint.sh is wrong

python3 /usr/src/paperless/src/manage.py document_consumer

@jonaswinkler
Copy link
Contributor

Try running the consumer with --no-inotify.

@jonaswinkler
Copy link
Contributor

Edit:
Running it with this command works. Maybe the docker-entrypoint.sh is wrong

python3 /usr/src/paperless/src/manage.py document_consumer

If you do this, but are running the web server within docker, you will run into trouble, since the consumer will put the consumed documents outside the docker volumes, while the webserver will expect the documents inside the container.

@Selfmade-RuLeZ
Copy link

Selfmade-RuLeZ commented Nov 18, 2020

Was a permission error, my bad.
Created the folder before the paperless user had exist.

Edit: Was a permission error, but the consumer doesn't start either

Edit2: The user has to be the owner of the folder. Now its working fine. Does it have to be like that?

Edit3: Try to scan the first document:

2020-11-18 15:40:41 | stdout | PermissionError: [Errno 13] Permission denied: '/tmp/paperless/paperless-v5xl43mb'
2020-11-18 15:40:41 | stdout | _os.mkdir(file, 0o700)
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/tempfile.py", line 359, in mkdtemp
2020-11-18 15:40:41 | stdout | self.tempdir = tempfile.mkdtemp(prefix="paperless-", dir=self.SCRATCH)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/parsers.py", line 49, in __init__
2020-11-18 15:40:41 | stdout | super().__init__(path)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/paperless_tesseract/parsers.py", line 40, in __init__
2020-11-18 15:40:41 | stdout | parsed_document = parser_class(doc)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/consumer.py", line 154, in try_consume_file
2020-11-18 15:40:41 | stdout | return func(*args, **kwds)
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/contextlib.py", line 75, in inner
2020-11-18 15:40:41 | stdout | if not self.try_consume_file(file):
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/consumer.py", line 117, in consume_new_files
2020-11-18 15:40:41 | stdout | self.file_consumer.consume_new_files()
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/management/commands/document_consumer.py", line 122, in loop_step
2020-11-18 15:40:41 | stdout | self.loop_step(mail_delta)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/management/commands/document_consumer.py", line 130, in loop_inotify
2020-11-18 15:40:41 | stdout | self.loop_inotify(mail_delta)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/documents/management/commands/document_consumer.py", line 97, in handle
2020-11-18 15:40:41 | stdout | output = self.handle(*args, **options)
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 335, in execute
2020-11-18 15:40:41 | stdout | self.execute(*args, **cmd_options)
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 288, in run_from_argv
2020-11-18 15:40:41 | stdout | self.fetch_command(subcommand).run_from_argv(self.argv)
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 365, in execute
2020-11-18 15:40:41 | stdout | utility.execute()
2020-11-18 15:40:41 | stdout | File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
2020-11-18 15:40:41 | stdout | execute_from_command_line(sys.argv)
2020-11-18 15:40:41 | stdout | File "/usr/src/paperless/src/manage.py", line 11, in <module>
2020-11-18 15:40:41 | stdout | Traceback (most recent call last):
2020-11-18 15:40:41 | stdout | Consuming /consume/Scanner_.pdf

Output is sadly in the wrong direction, read from bottom to top

@budda85
Copy link

budda85 commented Jan 4, 2021

Can you explain what you have done?
I wan't to use it on my Synology also, but the container is stop with no errors in the log.
Which volumes did you map and which environment variables did you use?
I use this Docker-Image.

@landcraft
Copy link
Author

Can you explain what you have done?
I wan't to use it on my Synology also, but the container is stop with no errors in the log.
Which volumes did you map and which environment variables did you use?
I use this Docker-Image.

I used this docker image and this guide managed to get it working, with a bit of fiddling (e.g. had to chmod+x ./manage.py before ./manage.py createsuperuser)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants