Re: Problem related to volume creation to pgadmin 4 Docker image - Mailing list pgadmin-support
From | Rodrigo Mariano |
---|---|
Subject | Re: Problem related to volume creation to pgadmin 4 Docker image |
Date | |
Msg-id | f38d2213-2645-25d5-7ea0-e4d3c4cd733a@gmail.com Whole thread Raw |
In response to | Re: Problem related to volume creation to pgadmin 4 Docker image (Dave Page <dpage@pgadmin.org>) |
Responses |
Re: Problem related to volume creation to pgadmin 4 Docker image
|
List | pgadmin-support |
Hi Dave,
> I've never needed to do that with plain Docker or Kubernetes. I've never used Docker Compose though.
Have you ever tried to create a volume to /var/lib/pgadmin/storage folder using newer image versions and you were able to access it via host in the nautilus? Using plain Docker.
If you have, how could I do that?
I did not have this kind of issue with older versions of pgadmin4 Docker image (e.g. dpage/pgadmin4:4.15), this issue has started with recent images that I need to change folder permission to 5050:5050 (e.g. dpage/pgadmin4:5.4).
Thank you.
Best regards,
Rodrigo
On Thu, Oct 21, 2021 at 12:27 PM Rodrigo Mariano <rodmariano13@gmail.com> wrote:Hi Aditya,
According to the documentation, I need to change user and group of my host folder to 5050:5050 through chown.
If my default user and group is rodrigo:rodrigo, how could my default user access a folder that belongs to another one (i.e. 5050:5050)?The pgAdmin processes in the container run under uid 5050, gid 5050.
As far as I know, I cannot access a folder that belongs to other user normally.
Maybe should I add my default user (i.e. rodrigo) to pgadmin group (i.e. 5050)?I've never needed to do that with plain Docker or Kubernetes. I've never used Docker Compose though.If I should, I believe this information could be written on the documentation.
Thank you.
Best regards,
RodrigoOn 21/10/2021 02:06, Aditya Toshniwal wrote:Hi Rodrigo,pgAdmin just needs a readable and writable directory. pgAdmin cannot change any permission on its own. It might be some other ownership issue on your system then.On Wed, Oct 20, 2021 at 11:29 PM Rodrigo Mariano <rodmariano13@gmail.com> wrote:Hi Aditya,
I did both.
First, I changed the folder permissions to 5050:5050 and the Docker container worked, but I was not able to get into the folder; the folder is locked and I cannot access its subfolders, even through terminal. For example:
After that, I tried using default permissions, however that error message appeared.
Thank you.
Best regards,
RodrigoOn 20/10/2021 10:08, Aditya Toshniwal wrote:Hi Rodrigo,Did you run sudo chown -R 5050:5050 ./volumes/pgadmin4 and sudo chown -R 5050:5050 ./volumes/pgadmin4_storage As per - https://www.pgadmin.org/docs/pgadmin4/6.0/container_deployment.html#mapped-files-and-directories ?On Wed, Oct 20, 2021 at 6:14 PM Rodrigo Mariano <rodmariano13@gmail.com> wrote:Hi Aditya,
I tried to create the volume to sub directory as well (i.e. /var/lib/pgadmin/storage/postgres_localhost.com), but the same error message appears.
I send below the traceback.
Thank you for your help.
Best regards,
Rodrigo-
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/venv/lib/python3.8/site-packages/gunicorn/workers/gthread.py", line 92, in init_process
super().init_process()
File "/venv/lib/python3.8/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/venv/lib/python3.8/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/venv/lib/python3.8/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 848, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/pgadmin4/run_pgadmin.py", line 4, in <module>
from pgAdmin4 import app
File "/pgadmin4/pgAdmin4.py", line 98, in <module>
app = create_app()
File "/pgadmin4/pgadmin/__init__.py", line 441, in create_app
paths.init_app(app)
File "/pgadmin4/pgadmin/utils/paths.py", line 103, in init_app
raise InternalServerError(
werkzeug.exceptions.InternalServerError: 500 Internal Server Error: The user does not have permission to read and write to the specified storage directory.
On 20/10/2021 09:08, Aditya Toshniwal wrote:Hi Rodrigo,/var/lib/pgadmin/storage is the base directory. A sub directory for each user will be created for storing user files.On Wed, Oct 20, 2021 at 5:10 PM Rodrigo Mariano <rodmariano13@gmail.com> wrote:Hi,
I'm having a trouble related to pgadmin 4 Docker image <https://hub.docker.com/r/dpage/pgadmin4>.
I would like to create a volume to /var/lib/pgadmin/storage folder, in order to access backup files created by pgadmin 4 interface, however error messages about permission denied are raised, for example:
werkzeug.exceptions.InternalServerError: 500 Internal Server Error: The user does not have permission to read and write to the specified storage directory.
Is there a way to create this volume?I had to use a command to change user and group of my volume to 5050:5050 (i.e. sudo chown -R 5050:5050 pgadmin4), but now I'm not able to get into the folder anymore, even when I try creating a volume to /var/lib/pgadmin/storage folder directly.
I send below my Docker compose file with default values.
Thank you in advance.
Best regards,
Rodrigo-
docker-compose.yml
version: '3'
services:
cdsr_postgis:
container_name: cdsr_postgis
image: kartoza/postgis:11.0-2.5
restart: on-failure
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASS=postgres
- ALLOW_IP_RANGE=0.0.0.0/0
- POSTGRES_MULTIPLE_EXTENSIONS=postgis,hstore,postgis_topology,pgrouting
volumes:
- ./volumes/postgresql:/var/lib/postgresql
networks:
- cdsr
ports:
- 6000:5432
cdsr_pgadmin4:
container_name: cdsr_pgadmin4
image: dpage/pgadmin4:5.4
restart: on-failure
environment:
- PGADMIN_DEFAULT_EMAIL=postgres@localhost.com
- PGADMIN_DEFAULT_PASSWORD=postgres
volumes:
# to fix permission bugs:
# sudo chown -R 5050:5050 pgadmin4
- ./volumes/pgadmin4:/var/lib/pgadmin
- ./volumes/pgadmin4_storage:/var/lib/pgadmin/storage
networks:
- cdsr
depends_on:
- cdsr_postgis
ports:
- 6001:80
networks:
cdsr:
driver: bridge--Thanks,Aditya ToshniwalpgAdmin Hacker | Software Architect | edbpostgres.com"Don't Complain about Heat, Plant a TREE"--Thanks,Aditya ToshniwalpgAdmin Hacker | Software Architect | edbpostgres.com"Don't Complain about Heat, Plant a TREE"--Thanks,Aditya ToshniwalpgAdmin Hacker | Software Architect | edbpostgres.com"Don't Complain about Heat, Plant a TREE"--
Attachment
pgadmin-support by date: