Re: [pgAdmin4][Patch] Remake Docker container packaging

From: Максим Кольцов <kolmax94(at)gmail(dot)com>
To: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch] Remake Docker container packaging
Date: 2018-04-02 06:40:36
Message-ID: CAB_KkxyyNaLGcibge_1x5XpM6MJ6aOkd=_jUK6wMaRH6kLscAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

пн, 2 апр. 2018 г., 7:54 Murtuza Zabuawala <
murtuza(dot)zabuawala(at)enterprisedb(dot)com>:

> 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?
>
Yes, this is expected and is the same for old docker image. Two unnamed
images are temporary images from build process and can be safely removed,
if you don't want cache for next builds.

> - 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.
>
Sounds reasonable. In fact, I believe I did that when making a prototype,
but forgot to replicate in this patch. Will do.

- Can we make the ports configurable?
> https://redmine.postgresql.org/issues/2997
>
This is certainly doable. Please note, by the way, that pgadmin is now
started on port 8080 or 8443 by default.

- 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(at)gmail(dot)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".
>>
>
>

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2018-04-02 10:02:57 Regarding RM #2214 SCRAM Authentication for Change Password
Previous Message Murtuza Zabuawala 2018-04-02 04:54:36 Re: [pgAdmin4][Patch] Remake Docker container packaging