Thread: Docker container - servers.json
Hi,
According to https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html having a files servers.json in the /pgadmin4 folder should enable server info to be pre-loaded into pgadmin4 when it launches.
However, I am unable to see any impact from having this file. Here are the docker logs from the container:
[2021-11-02 18:49:31 +0000] [1] [INFO] Shutting down: Master
[2021-11-02 18:49:53 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2021-11-02 18:49:53 +0000] [1] [INFO] Listening at: http://[::]:80 (1)
[2021-11-02 18:49:53 +0000] [1] [INFO] Using worker: gthread
[2021-11-02 18:49:53 +0000] [80] [INFO] Booting worker with pid: 80
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:52 +0000] "GET / HTTP/1.1" 302 237 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:52 +0000] "GET /login?next=%2F HTTP/1.1" 200 1729 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:53 +0000] "GET /static/img/login.svg?ver=60100 HTTP/1.1" 200 0 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:53 +0000] "GET /favicon.ico?ver=60100 HTTP/1.1" 302 265 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "POST /authenticate/login HTTP/1.1" 302 209 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET / HTTP/1.1" 302 225 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/ HTTP/1.1" 200 2664 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/browser.css?ver=60100 HTTP/1.1" 200 3755 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /static/js/generated/fonts/fa-solid-900..woff2 HTTP/1.1" 200 0 "http://localhost:5050/static/js/generated/style.css?ver=60100" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/constants.js?ver=60100 HTTP/1.1" 200 455 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/endpoints.js?ver=60100 HTTP/1.1" 200 2595 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/messages.js?ver=60100 HTTP/1.1" 200 811 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/server/supported_servers.js?ver=60100 HTTP/1.1" 200 290 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/utils.js?ver=60100 HTTP/1.1" 200 2298 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /tools/translations.js?ver=60100 HTTP/1.1" 200 321 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /user_management/current_user.js?ver=60100 HTTP/1.1" 200 312 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /static/css/webcabin.overrides.css?v=1635879299659 HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /browser/nodes/ HTTP/1.1" 200 255 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "GET /browser/check_corrupted_db_file HTTP/1.1" 200 61 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /browser/master_password HTTP/1.1" 200 390 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "GET /dashboard/ HTTP/1.1" 200 6803 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /settings/store HTTP/1.1" 200 367 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /settings/store HTTP/1.1" 200 367 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /preferences/get_all HTTP/1.1" 200 8139 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /settings/get_tree_state/ HTTP/1.1" 200 2 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /misc/bgprocess/?_=1635879299049 HTTP/1.1" 200 2 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:31 +0000] "POST /settings/save_tree_state/ HTTP/1.1" 200 63 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:19:00:00 +0000] "POST /misc/cleanup HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:19:05:00 +0000] "POST /misc/cleanup HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
Here is my servers.json:
{
"Servers": {
"1": {
"Name": "mock",
"Group": "Server",
"Port": 5432,
"Username": "blockchain",
"Host": "172.17.0.1",
"SSLMode": "prefer",
"MaintenanceDB": "postgres",
"Password":"password"
}
}
}
Here is my Dockerfile:
FROM dpage/pgadmin4:latest
EXPOSE 80
COPY --chown=pgadmin:pgadmin servers.json .
Hi Ashish,
Can you try mapping once "-v /tmp/servers.json:/pgadmin4/servers.json" if it works ?
On Wed, Nov 3, 2021 at 12:39 AM Ashish Chandra <ashish.cppdev@gmail.com> wrote:
Hi,According to https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html having a files servers.json in the /pgadmin4 folder should enable server info to be pre-loaded into pgadmin4 when it launches.However, I am unable to see any impact from having this file. Here are the docker logs from the container:[2021-11-02 18:49:31 +0000] [1] [INFO] Shutting down: Master
[2021-11-02 18:49:53 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2021-11-02 18:49:53 +0000] [1] [INFO] Listening at: http://[::]:80 (1)
[2021-11-02 18:49:53 +0000] [1] [INFO] Using worker: gthread
[2021-11-02 18:49:53 +0000] [80] [INFO] Booting worker with pid: 80
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:52 +0000] "GET / HTTP/1.1" 302 237 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:52 +0000] "GET /login?next=%2F HTTP/1.1" 200 1729 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:53 +0000] "GET /static/img/login.svg?ver=60100 HTTP/1.1" 200 0 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:53 +0000] "GET /favicon.ico?ver=60100 HTTP/1.1" 302 265 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "POST /authenticate/login HTTP/1.1" 302 209 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET / HTTP/1.1" 302 225 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/ HTTP/1.1" 200 2664 "http://localhost:5050/login?next=%2F" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/browser.css?ver=60100 HTTP/1.1" 200 3755 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /static/js/generated/fonts/fa-solid-900..woff2 HTTP/1.1" 200 0 "http://localhost:5050/static/js/generated/style.css?ver=60100" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/constants.js?ver=60100 HTTP/1.1" 200 455 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/endpoints.js?ver=60100 HTTP/1.1" 200 2595 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/messages.js?ver=60100 HTTP/1.1" 200 811 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/server/supported_servers.js?ver=60100 HTTP/1.1" 200 290 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:58 +0000] "GET /browser/js/utils.js?ver=60100 HTTP/1.1" 200 2298 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /tools/translations.js?ver=60100 HTTP/1.1" 200 321 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /user_management/current_user.js?ver=60100 HTTP/1.1" 200 312 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /static/css/webcabin.overrides.css?v=1635879299659 HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:54:59 +0000] "GET /browser/nodes/ HTTP/1.1" 200 255 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "GET /browser/check_corrupted_db_file HTTP/1.1" 200 61 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /browser/master_password HTTP/1.1" 200 390 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "GET /dashboard/ HTTP/1.1" 200 6803 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /settings/store HTTP/1.1" 200 367 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:00 +0000] "POST /settings/store HTTP/1.1" 200 367 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /preferences/get_all HTTP/1.1" 200 8139 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /settings/get_tree_state/ HTTP/1.1" 200 2 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:01 +0000] "GET /misc/bgprocess/?_=1635879299049 HTTP/1.1" 200 2 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:18:55:31 +0000] "POST /settings/save_tree_state/ HTTP/1.1" 200 63 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:19:00:00 +0000] "POST /misc/cleanup HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
::ffff:192.168.96.1 - - [02/Nov/2021:19:05:00 +0000] "POST /misc/cleanup HTTP/1.1" 200 0 "http://localhost:5050/browser/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"Here is my servers.json:{"Servers": {"1": {"Name": "mock","Group": "Server","Port": 5432,"Username": "blockchain","Host": "172.17.0.1","SSLMode": "prefer","MaintenanceDB": "postgres","Password":"password"}}}Here is my Dockerfile:FROM dpage/pgadmin4:latestEXPOSE 80COPY --chown=pgadmin:pgadmin servers.json .
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Software Architect | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"
Hi
On Tue, Nov 2, 2021 at 7:09 PM Ashish Chandra <ashish.cppdev@gmail.com> wrote:
Hi,According to https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html having a files servers.json in the /pgadmin4 folder should enable server info to be pre-loaded into pgadmin4 when it launches.However, I am unable to see any impact from having this file. Here are the docker logs from the container:
...
Here is my Dockerfile:FROM dpage/pgadmin4:latestEXPOSE 80COPY --chown=pgadmin:pgadmin servers.json .
Won't that copy servers.json into /, not /pgadmin4/?
In any case, this seems like an odd way to do this - any reason not to just map the file as Aditya suggested? I suppose if you're distributing the container to others it might make sense.
On Wed, Nov 3, 2021 at 2:56 PM Ashish Chandra <ashish.cppdev@gmail.com> wrote:
Actually, the issue was me not reading the fine print that the servers.json is only used when the volume is created, and not subsequently. I did a docker prune of all the volumes and re-ran my setup and the servers.json was in fact used.
Ah, good.
As to your comment about the Dockerfile, I am using it and it does default to putting the file in /pgadmin4.
Interesting - I guess that's because our Dockerfile has "WORKDIR /pgadmin4" in it. I didn't realise that would affect a "downstream" Dockerfile as well.
On Wed, Nov 3, 2021 at 4:29 AM Dave Page <dpage@pgadmin.org> wrote:HiOn Tue, Nov 2, 2021 at 7:09 PM Ashish Chandra <ashish.cppdev@gmail.com> wrote:Hi,According to https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html having a files servers.json in the /pgadmin4 folder should enable server info to be pre-loaded into pgadmin4 when it launches.However, I am unable to see any impact from having this file. Here are the docker logs from the container:...Here is my Dockerfile:FROM dpage/pgadmin4:latestEXPOSE 80COPY --chown=pgadmin:pgadmin servers.json .Won't that copy servers.json into /, not /pgadmin4/?In any case, this seems like an odd way to do this - any reason not to just map the file as Aditya suggested? I suppose if you're distributing the container to others it might make sense.--