Re: [pgAdmin4][Patch] Remake Docker container packaging - Mailing list pgadmin-hackers

From Murtuza Zabuawala
Subject Re: [pgAdmin4][Patch] Remake Docker container packaging
Date
Msg-id CAKKotZSskdx7PXnpjH2TArqVYNxeurrURvfkWuVAm6ruP359AA@mail.gmail.com
Whole thread Raw
In response to [pgAdmin4][Patch] Remake Docker container packaging  (Максим Кольцов <kolmax94@gmail.com>)
Responses Re: [pgAdmin4][Patch] Remake Docker container packaging
List pgadmin-hackers
Hello,

I tested the patch and it is working fine.

- I had clean system before but after running DockerBuild, I can see 3 different images of pgAdmin4, Is this expected?

 
- We can remove /tests/ folder from each folders, we can also remove /web/regression/ folder from the container, they are used to run tests. 
We don't require them on production code.

- Can we make the ports configurable?

- Allow user to choose whether to run it as Single user mode(SERVER_MODE = False) or Multiuser mode(SERVER_MODE = True) 


--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


On Sat, Mar 31, 2018 at 11:19 PM, Максим Кольцов <kolmax94@gmail.com> wrote:
Hi all,

I've been discussing this with Dave for about a month now. Today I
finally present a proposed patch to update pgadmin4's Docker
packaging.

Key features of this update:
- Main image is based on python:3.6-alpine3.7.
  Using Alpine linux leads to much smaller image
- All build is done with Docker multi-stage build. First of all build
the frontend in node:6 image,
  then build Sphinx documentation in separate Python container and in
the end just install all
  dependencies in a clean python:3.6-alpine3.7 image, so that it does
not have any leftovers from the build
  process and we don't rely on any tools available on the host.
- Use Gunicorn (http://gunicorn.org) as lightweight HTTP / WSGI server.
  Gunicorn supports both HTTP and HTTPS.
- Install Alpine postgresql-client package, which includes pg_dump and
other tools and config
  PgAdmin to find these tools by default
- Byte-compile all PgAdmin Python code in Dockerfile with optimization
(-O) enabled. This way Python
   does not have to compile modules on each container restart and
consume space in overlay fs

Please find attached patch from "git format-patch".

Attachment

pgadmin-hackers by date:

Previous
From: Максим Кольцов
Date:
Subject: [pgAdmin4][Patch] Remake Docker container packaging
Next
From: Максим Кольцов
Date:
Subject: Re: [pgAdmin4][Patch] Remake Docker container packaging