Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1epgzg-0001tu-45 for pgadmin-hackers@arkaria.postgresql.org; Sat, 24 Feb 2018 21:04:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1epgze-0002pK-Vn for pgadmin-hackers@arkaria.postgresql.org; Sat, 24 Feb 2018 21:04:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1epgze-0002pB-PF for pgadmin-hackers@lists.postgresql.org; Sat, 24 Feb 2018 21:04:30 +0000 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1epgzX-0000Cf-Pk for pgadmin-hackers@lists.postgresql.org; Sat, 24 Feb 2018 21:04:30 +0000 Received: by mail-wm0-x244.google.com with SMTP id m207so10562313wma.2 for ; Sat, 24 Feb 2018 13:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=RPcOGnBlyhF68xYfIQ/f9plb5bwQwnP9A42ugnjn7+A=; b=Rk50oi5zU8MidwBQyF5ImTEGG0k0ckF8ra5qz3WYPZr0TIzSuB4OUCUiDwDPf44Gn+ Lebz+SZ9++WO6ZzbTUyjsAQThMlpHx7QOtxrWIltvwBx4xHRYiPFJKrgCXpQZic7odN6 +OsCnefbBJk0oCJQISSbKw2VVd3U9OyBC9xN7CIFeYG5ATm7ngWE+Ee4Y7P0s+EY2A/m I0dSkYxDIToflv4nHEc7Ydgj/VjxFBeTshUDn5fve707+ZtikuBnBT2DWTTffTk1Vjrz mhguQ0Zm+IBQPQrHg5Qqlth0WXbDfR39TM+YbwQYNu6gFc9RyzIsBZaneT9CTs3+pKtE QGxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=RPcOGnBlyhF68xYfIQ/f9plb5bwQwnP9A42ugnjn7+A=; b=D0X+QlHAtgYOKQnz2d8m5qPEoYdLV1X7waMAnS//awmZMLix4p090ncY6jqqCQUSEn hiJ5wgm8VLQNeTbQ702q9cvsRt5YYA7MhspTQ0wjjUiTTrRM/yD2ygYBRsE+CpVCsokz oGT4tTczfwTO8An59pOPvX9HZW24lObE8wmZk3QnSfRQ7FcP9x5wxw4KF79cQZZLiTui nF8VAVt8i1Vs0MMbq+awKx2EL7KWCqFdpi/8cviHEEz1ksCZLSWHmnNPrXovGpY2rC9f nUv9G0+Uf+rLLaq8fppy240KjumYFr9VPsFey9mfL/j7JW+Ck9xDFG7C0uASogjFBBs9 JW6g== X-Gm-Message-State: APf1xPA03+mejomxaR9E6l40SD4gwJmmIqgbxruZOkvJUEB13JlioXgi ibv0PmpDcWNxoUxIEziSNnp5k0WVfiro0CifmLkhYg== X-Google-Smtp-Source: AG47ELsgxJfxWfc2NZ98c6hPrdb2Ruze+JK1lErC/4oElSXvT6Q4FkWGcJjieSFE2CwexbrfZB7b47uNv9TUCnzF/0g= X-Received: by 10.28.45.209 with SMTP id t200mr1398889wmt.90.1519506262513; Sat, 24 Feb 2018 13:04:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.69.139 with HTTP; Sat, 24 Feb 2018 13:04:21 -0800 (PST) In-Reply-To: References: From: =?UTF-8?B?0JzQsNC60YHQuNC8INCa0L7Qu9GM0YbQvtCy?= Date: Sun, 25 Feb 2018 00:04:21 +0300 Message-ID: Subject: Re: Proposal for changes in official Docker image To: Dave Page Cc: pgadmin-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi 2018-02-19 12:13 GMT+03:00 Dave Page : > Hi > > On Sun, Feb 18, 2018 at 5:41 PM, =D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC =D0= =9A=D0=BE=D0=BB=D1=8C=D1=86=D0=BE=D0=B2 wrote: >> >> Hi! >> >> I accidentially sent this email to pgsql-hackers yesterday, sorry! >> >> First of all, thanks for the great app :) >> >> I started using PgAdmin with docker image (dpage/pgadmin4) a few weeks >> ago, however I thought that it had some issues, so I decided to make >> my own image. Some of the advantages: >> >> - Use alpine linux instead of centos to greatly reduce image size >> (170MB vs 560MB) >> - Use lightweight pure-python HTTP server waitress instead of heavy >> apache/mod_wsgi >> - Use python 3.6 >> >> You can test the image at https://hub.docker.com/r/maksbotan/pgadmin4/ >> Readme contains more detailed explanation and usage instructions. >> >> The Dockerfile is hosted at github: >> https://github.com/maksbotan/pgadmin4_docker >> >> If you find my work useful, I'd love to make a contribution with these >> scripts, after some discussion with pgadmin developers and further >> improvements. > > > Please feel free to submit patches to the existing code. I have no object= ion > to the any of the alternate design decisions you've made (in principal), > except for the intentional lack of SSL support. > > Thanks, Dave. I updated my image to simplify installing of Python packages. I decided I do not need a separate build step after all. Can you point me at documentation on submitting patches to pgadmin? What are your points in including SSL support into container? This can be done by using, for example, gunicorn instead of waitress, but I believe that this should be handled by reverse-proxy, like nginx, in production environment. In non-production environment, i.e. on developer's localhost, you do not need SSL at all. By the way, in my opinion, on production there is one more task to be handled by reverse-proxy - static files. By that I mean that all static, not-changing files accessible at '/static/' URL should be extracted from the container and served by nginx from a local folder. This does not mean we shouldn't keep them in the image -- it's very convenient for localhost usage. I haven't found a way to extract all Flask's static files yet. > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company