Skip to content

maxhelias/docker-my-gis

Repository files navigation

A Docker for your WebGIS application Build Status MIT licensed

This repository allows the creation of a Docker environment that meets WebGIS requirements.

Architecture

Containers Original Override
workspace phusion/baseimage:latest Dockerfile
php 5.6 php:5.6.31-fpm Dockerfile
nginx nginx:alpine Dockerfile
db 9.5 mdillon/postgis:9.5-alpine Dockerfile
mapserver 6.4.1 debian:jessie Dockerfile
redis redis:latest Dockerfile
rabbitmq rabbitmq Dockerfile
elasticsearch 5.6.3 elasticsearch:5.6.3 Dockerfile
kibana 5.6.3 kibana:5.6.3 Dockerfile
logstash 5.6.3 logstash:5.6.3 Dockerfile
maildev djfarrelly/maildev:latest Dockerfile
blackfire blackfire/blackfire Dockerfile

All containers are in the ./etc/ folder

Additional Features

Since this environment is designed for a local usage, it comes with features helping the development workflow.

Installation

This process assumes that Docker Engine and Docker Compose are installed. Otherwise, you should have a look to Install Docker Engine before proceeding further.

Clone the repository

$ git clone https://github.com/maxhelias/docker-my-gis.git

Define the environment variables

$ cp env-example .env

Run your containers

$ docker-compose up -d

You can specify some container to run by adding their current name to the docker-compose.yml file

Open your browser and visit localhost

  • http://localhost for access to your application OR
  • http://localhost/mapserver/ for access to your MapServer instance
That's it! Enjoy :)

You will then be able to access the following sample MapServer URLs :

By default

  • The application folder mounted on the workspace instance is ./usr/www/. It can be defined in the configuration file with the variable APPLICATION
  • The sites available folder mounted on the Nginx instance is ./etc/nginx/sites/. It can be defined in the configuration file with the variable NGINX_SITES_PATH
  • The data folder mounted on the MapServer instance is ./usr/geo/mapserver/. It can be defined in the configuration file with the variable MAPSERVER_DATA
  • Also, you can define any variable in the configuration file to adapt it to your needs