[GeoNode-devel] Officially support Docker as a deployment method for production

Olivier Dalang olivier.dalang at gmail.com
Tue Apr 3 17:33:22 PDT 2018


Dear all,

Following some discussions that happened during the summit, I opened a GNIP
about officially supporting Docker as a deployment strategy:

https://github.com/GeoNode/geonode/issues/3707

For convenience, I copied the content below.

Following the procedure, please add your comments/+1s/-1s directly in the
GNIP.

Thank you in advance !

Olivier Dalang


GNIP :

# Overview

The idea of this GNIP is to officially support a production-grade
deployment method using Docker. By production-grade, it is meant a
deployment solution that satisfies basic needs in terms of performance and
security.

# Rationale

1. There's currently no clear deployment method supported for production
(there's an entry about that in the doc, but it's incomplete and very hard
to follow) which results on a lot of very poorly secured installations
2. Docker works on all major platforms (Windows, Linux, Mac OS X)
3. It's very easy to use (basically, start the whole stack in 1 command
line, almost identical on any system)
4. It's very easy to make new releases (basically one git tag)
5. Similar setup for dev and production
6. It's possible to include features that are not strictly part of Geonode,
but still essential for a production ready deployment (https encryption,
backups...)

Points 1. and 6. are a major problem for smaller institutions that don't
have advanced sysadmins / security experts, which represents a lot of
Geonode user (just look at the Geonode gallery and at how many of them use
https).

# Implementation

I suggest an implementation similar to
https://github.com/olivierdalang/SPCgeonode (as presented [earlier](
https://lists.osgeo.org/pipermail/geonode-devel/2018-March/002108.html) on
the ML)

- Basically a Geonode-project (so that it's easy to customize, you can
still get the vanilla geonode if you don't customize anything)
- Including customized Dockerfile (such as Nginx, Geoserver, etc.)  in the
same repo rather than in external repositories, so that releasing new
versions can be done all in one place and that it's easier to know what's
actually being installed
- Including automatic ssl encryption and easy to configure backups using
popular cloud provider
- Optionally maintain a Rancher catalog entry (which is almost 0 work)

I suggest mentioning that deployment method on the home page, making it
clear that the apt-get method isn't production-ready out of the box.

# Repository

This could probably live in the Geonode-project repository.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20180404/d527d239/attachment.html>


More information about the geonode-devel mailing list