Subject: [Pgadmin] [Docker] servers.json import fails when running in desktop mode

From: Levitt Olivier <[email-masked]>
Date: Fri, 13 Dec 2019 14:52:46 +0000

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 :)

Regards,
Olivier Levitt

---

From: Ashesh Vashi <[email-masked]>
Date: Sat, 14 Dec 2019 10:22:39 +0530

<http://www.linkedin.com/in/asheshvashi>

On Sat, Dec 14, 2019 at 3:53 AM Levitt Olivier <[email-masked]>
wrote:

> Hi,
>
> When running the docker image in desktop mode
> (PGADMIN_CONFIG_SERVER_MODE=False), no user is created. That is expected
> behaviour.
> 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.
Please do.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com>

*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi>

---

From: Levitt Olivier <[email-masked]>
Date: Mon, 16 Dec 2019 09:48:14 +0000

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-masked]]
Sent: 14 December 2019 05:52
To: Levitt Olivier
Cc: [email-masked]
Subject: Re: [Pgadmin] [Docker] servers.json import fails when running in desktop mode

On Sat, Dec 14, 2019 at 3:53 AM Levitt Olivier <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company<http://www.enterprisedb.com>

http://www.linkedin.com/in/asheshvashi

Regards,
Olivier Levitt

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

---

From: Akshay Joshi <[email-masked]>
Date: Tue, 17 Dec 2019 13:15:58 +0530

Thanks, patch applied.

On Mon, Dec 16, 2019 at 4:42 PM Levitt Olivier <[email-masked]>
wrote:

> 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
>
>

-- 
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*