Hello.
Since you are here, you are having trouble accessing your PGAdmin container that you created with docker and one of the reasons is this writing error.
Lets read the error first, if you came here by luck and dont know what causes you to cant access your pgadmin container lets try writing docker logs <container with pgadmins id>
to our terminal first.
[2025-04-06 11:17:23 +0000] [502] [INFO] Worker exiting (pid: 502)
HINT Create the directory /var/lib/pgadmin/sessions, ensure it is writeable by 'pgadmin', and try again, or, create a config_local.py file and override the SESSION DB PATH setting per https://www.pgadmin.org/docs/pgadmin4/9.2/config.py.html
[Errno 13] Permission denied: '/var/lib/pgadmin/sessions'
[2025-04-06 11:17:23 +0000] [1] [ERROR] Worker (pid:502) exited with code 1 [ 2825-04-06 11:17:23 +0000] [1] [ERROR] Worker (pid:582) exited with code 1.
[2025-04-06 11:17:23 +0000] [503] [ΙΝNFO] Booting worker with pid: 503
this log means pgadmin cant write data to data directory of PgAdmin. In my case, i have a folder called ~/docker-data
and it stores my docker stuff that i just didnt want to install locally on my system to manage versions, easy uninstallation/reinstallation and stuff.
Inside of that i have a directory called pgadmin-data
that stores my pgadmin stuff.
To solve that, we just need to give our container users required reading and writing access by using chown
Firstly we have to open our containers shell by docker exec -it <container with pgadmins id> bash
and exec id
Mine looks like this, yours will too:
Note the UID and GID values and
sudo chown -R <UID that you should have noted>:<GID that you should have noted> <path of your storage folder.>
Reboot your containers and is should be solved!
For reference, this is my compose file that i used to create my postgres DB and pgadmin