Official Kallithea docker image

Søren Løvborg sorenl at unity3d.com
Mon Mar 27 17:56:45 UTC 2017


> I see the official docker one would the the "recommended" one
> it is also about recommending deployment best practices.

But one size doesn't fit all. Just take the choice of database
backend: At home, I run SQLite, because I know the install will never
grow to a size where I'll need a "real" database. At work, we use
PostgreSQL. I'd recommend one of those two depending on needs, but
others might prefer MySQL. And "what database backend should I use?"
is the _easy_ question, with only three supported options.

For choice of webserver, well, the choice is not "Apache, nginx, or
uWSGI?". The choice is more like:

* Apache + mod_wsgi (what we're currently running at work)
* Apache + reverse proxy + Waitress
* Apache + reverse proxy + Gunicorn
* Apache + reverse proxy + Paster (what I run at home)
* nginx + ngx_http_wsgi
* nginx + reverse proxy + Waitress
* nginx + reverse proxy + Gunicorn
* nginx + ngx_http_uwsgi + uWSGI (some people swear by this, though I
don't see the point)
* uWSGI

As for "uWSGI"... well, "uWSGI" is not a web server. It's really more
like a set of tools you can combine to build your own web server. I
mean, you can go with "plain and simple": uWSGI with a http router, a
master process, and offloading enabled for static files. But you can
also use uWSGI in "emperor" mode, "legion" mode, "zerg" mode, or even
"broodlord" mode. To make an informed decision, you'll need a sound
understanding of networking and Unix process management, and to
carefully read the uWSGI docs... and mailing list... and source code,
possibly.

Depending on the user's needs, resources and experience, any of the
above choices might be the recommended one. :-)

Now, I'm not at all opposed to creating a docker image... but I am
quite hesitant about the words "recommended" and "official". For
anyone trying to answer the above questions ("what database backend
and webserver should I use?"), a Docket image will often only be a
starting point. Actual documentation about pros and cons is much more
valuable.

FWIW, at work we're currently experimenting with uWSGI in zerg mode
tightly coupled with systemd service management. We're still way off
getting this setup into production, but if it turns out to be the
right solution for us, I'll try to write up some notes on it. Not sure
it's recommended for *most* users, though. :-)

Best,
Søren


On Mon, Mar 27, 2017 at 6:25 PM, Long Vu <long.vu at intelerad.com> wrote:
> On Sun, Mar 26, 2017 at 5:42 PM, Mads Kiilerich <mads at kiilerich.com> wrote:
>> On 03/23/2017 11:53 PM, Dominik Ruf wrote:
>>>
>>> Hi all,
>>>
>>> I've been using docker for a while now for my kallithea server and others
>>> have also mentioned that they are using docker.
>>> So what are the thoughts about creating an official docker image for
>>> kallithea?
>>
>>
>> I think most setups have "special" requirements. I thus don't think there
>> can be one official docker image. But it would be great to have a collection
>> of images that work for different cases - some simple, some with lots of
>> configuration knobs.
>
> I see the official docker one would the the "recommended" one with all
> the best practices for performance and diagnosis and a set up that
> open the door for the most integration with other tools in the stack
> of the user.  And we can have other docker for other special case
> setup.
>
> Example I've been seeing posts in this list about how to troubleshoot
> Kallithea performance and someone mentioned using uwsgi because it has
> better performance stats but no mention about how it compares
> performance wise to other deployment deployment.
>
> Personally, I am using apache as a front proxy to paster process, no
> celery, just because I am familiar with using apache as a front proxy
> and it's just for evaluation for now, so performance is not my
> priority.  I would very be interested in knowing what is the
> recommended setup to maximize performance if I actually golive in
> production with Kallithea.
>
> So for me, having an "official" or "recommended" docker image is more
> than just to provide an easy and reproducible way to deploy Kallithea,
> it is also about recommending deployment best practices.
>
> If Kallithea have deployment that is easy, performant, and easy to
> reproduce to reproduce bugs, it will clearly help adoption.
>
>>
>> There might also be valid reasons to use something else than docker - for
>> example openshift of script installation on physical/virtual hardware with
>> salt or ansible ... and for running natively on macOS or Windows instead of
>> Linux ... or different Linux brands and different databases and web servers
>> and authentication and ...
>
> Yes clearly not forgetting other configuration management tools and
> other platforms.  Ansible can actually drive the Docker deployment.
> At work we are not using Docker alone, but with Ansible.
>
> On Linux, if Docker is available as a possibility, it is really great
> for its reproducible nature that pretty much guaranty it'll just work.
>
> The more "turn key" solutions we have, the better.  Let's start with
> something and we'll grow the different solutions with time.
>
>>
>> So ... perhaps create a top folder called something like "images" (even
>> though that would be a bit ambiguous ...) and create subfolders there for
>> each contribution.
>>
>> (I looked at existing docker images when upgrading celery and paster/gearbox
>> ... and decided to create my own docker config that worked for that purpose.
>> I could clean that up and contribute that too.)
>>
>> /Mads
>>
>> _______________________________________________
>> kallithea-general mailing list
>> kallithea-general at sfconservancy.org
>> https://lists.sfconservancy.org/mailman/listinfo/kallithea-general
>
>
>
> --
> Long Vu | Build Controller | Intelerad | +1-514-931-6222 ext. 7743
>
> --
>
> This email or any attachments may contain confidential or legally
> privileged information intended for the sole use of the addressees. Any
> use, redistribution, disclosure, or reproduction of this information,
> except as intended, is prohibited. If you received this email in error,
> please notify the sender and remove all copies of the message, including
> any attachments.
>
> _______________________________________________
> kallithea-general mailing list
> kallithea-general at sfconservancy.org
> https://lists.sfconservancy.org/mailman/listinfo/kallithea-general


More information about the kallithea-general mailing list