Permission denied when MAYAN_USER_UID and MAYAN_USER_GUID are set
When MAYAN_USER_UID: 1024 and MAYAN_USER_GUID: 65539 are set, mayanedms:latest fails to start with permission errors
[2019-08-11 18:23:03 +0000] [264] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 203, in init_process
super(GeventWorker, self).init_process()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 129, in init_process
self.load_wsgi()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
self.wsgi = self.app.wsgi()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
return self.load_wsgiapp()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
return util.import_app(self.app_uri)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gevent/builtins.py", line 96, in __import__
result = _import(*args, **kwargs)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/mayan/wsgi.py", line 15, in <module>
application = get_wsgi_application()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
return WSGIHandler()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 151, in __init__
self.load_middleware()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 82, in load_middleware
mw_instance = middleware(handler)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/middleware.py", line 40, in __init__
self.add_files(self.static_root, prefix=self.static_prefix)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/base.py", line 102, in add_files
self.update_files_dictionary(root, prefix)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/base.py", line 109, in update_files_dictionary
stat_cache = dict(scantree(root))
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 26, in scantree
yield entry.path, entry.stat()
OSError: [Errno 13] Permission denied: u'/opt/mayan-edms/static/appearance/google_fonts/lato/S6u8w4BMUTPHjxsAUi-qJCY.woff2'
[2019-08-11 18:23:03 +0000] [264] [INFO] Worker exiting (pid: 264)
[2019-08-11 18:23:03 +0000] [269] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 203, in init_process
super(GeventWorker, self).init_process()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 129, in init_process
self.load_wsgi()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
self.wsgi = self.app.wsgi()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
return self.load_wsgiapp()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
return util.import_app(self.app_uri)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gevent/builtins.py", line 96, in __import__
result = _import(*args, **kwargs)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/mayan/wsgi.py", line 15, in <module>
application = get_wsgi_application()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
return WSGIHandler()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 151, in __init__
self.load_middleware()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 82, in load_middleware
mw_instance = middleware(handler)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/middleware.py", line 40, in __init__
self.add_files(self.static_root, prefix=self.static_prefix)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/base.py", line 102, in add_files
self.update_files_dictionary(root, prefix)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/base.py", line 109, in update_files_dictionary
stat_cache = dict(scantree(root))
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 23, in scantree
for item in scantree(entry.path):
File "/opt/mayan-edms/local/lib/python2.7/site-packages/whitenoise/scantree.py", line 26, in scantree
yield entry.path, entry.stat()
OSError: [Errno 13] Permission denied: u'/opt/mayan-edms/static/appearance/google_fonts/lato/S6u8w4BMUTPHjxsAUi-qJCY.woff2'
[2019-08-11 18:23:03 +0000] [269] [INFO] Worker exiting (pid: 269)
Traceback (most recent call last):
File "/opt/mayan-edms/bin/gunicorn", line 10, in <module>
sys.exit(run())
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 61, in run
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 223, in run
super(Application, self).run()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 72, in run
Arbiter(self).run()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 232, in run
self.halt(reason=inst.reason, exit_status=inst.exit_status)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 345, in halt
self.stop()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 393, in stop
time.sleep(0.1)
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 245, in handle_chld
self.reap_workers()
File "/opt/mayan-edms/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
It works after manually chowning /opt/mayan-edms with chown -R /opt/mayan-edms
inside the container.
Edited by Fabian