RE: [Pgadmin] [Docker] servers.json import fails when running in desktop mode
Levitt Olivier <[email protected]> Mon, 16 Dec 2019 09:48:14 +0000
| Newsgroups | gmane.comp.db.postgresql.pgadmin.devel |
|---|---|
| Message-ID | <74F4D0C2ACDFA04BA40C6475ADAE217529FA40C2@pdexchbalwst03.ad.insee.intra> |
Hi, Here is a patch (first contribution \o/) that solves the issue by importing the servers.json anonymously when running in DESKTOP mode. There may be a better way to check if we are running in DESKTOP mode or not but checking PGADMIN_CONFIG_SERVER_MODE should be enough when running pgadmin4 in docker. Regards, Olivier Levitt ________________________________________ From: Ashesh Vashi [[email protected]] Sent: 14 December 2019 05:52 To: Levitt Olivier Cc: [email protected] Subject: Re: [Pgadmin] [Docker] servers.json import fails when running in desktop mode <http://www.linkedin.com/in/asheshvashi> On Sat, Dec 14, 2019 at 3:53 AM Levitt Olivier <[email protected]<mailto:[email protected]>> wrote: Hi, When running the docker image in desktop mode (PGADMIN_CONFIG_SERVER_MODE=False), no user is created. That is expected behaviour. But then the code that imports the servers.json pre-configuration fails as it ties the import to the default user. I think line 40 of entrypoint.sh (https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob;f=pkg/docker/entrypoint.sh;h=47d14bf2d415777c64b221fb1fc75d61c5e3cecc;hb=HEAD) should not specify a user when running in dekstop mode. I tested it without --user parameter and it successfully imported the servers.json configuration. Should I submit a patch ? First time contributing to Pgadmin :) Please do. -- Thanks & Regards, Ashesh Vashi EnterpriseDB INDIA: Enterprise PostgreSQL Company<http://www.enterprisedb.com> http://www.linkedin.com/in/asheshvashi Regards, Olivier Levitt
import_servers_on_desktop_mode.diff
(text/x-patch, 978 B)
diff --git a/pkg/docker/entrypoint.sh b/pkg/docker/entrypoint.sh
index 47d14bf2d..e8434329d 100755
--- a/pkg/docker/entrypoint.sh
+++ b/pkg/docker/entrypoint.sh
@@ -37,7 +37,13 @@ if [ ! -f /var/lib/pgadmin/pgadmin4.db ]; then
export PGADMIN_SERVER_JSON_FILE=${PGADMIN_SERVER_JSON_FILE:-/pgadmin4/servers.json}
# Pre-load any required servers
if [ -f "${PGADMIN_SERVER_JSON_FILE}" ]; then
- /usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
+ # When running in Desktop mode, no user is created
+ # so we have to import servers anonymously
+ if [ "${PGADMIN_CONFIG_SERVER_MODE}" = "False" ]; then
+ /usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}"
+ else
+ /usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
+ fi
fi
fi