This repository allows the creation of a Docker environment that meets WebGIS requirements.
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
Since this environment is designed for a local usage, it comes with features helping the development workflow.
This process assumes that Docker Engine and Docker Compose are installed. Otherwise, you should have a look to Install Docker Engine before proceeding further.
$ git clone https://github.com/maxhelias/docker-my-gis.git
$ cp env-example .env
$ docker-compose up -d
You can specify some container to run by adding their current name to the docker-compose.yml file
http://localhost
for access to your application ORhttp://localhost/mapserver/
for access to your MapServer instance
That's it! Enjoy :)
You will then be able to access the following sample MapServer URLs :
- http://localhost/mapserver/?map=example1-1.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-2.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-3.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-4.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-5.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-6.map&layers=all&mode=map
- http://localhost/mapserver/?map=example1-7.map&layers=all&mode=map
- 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