Coder Social home page Coder Social logo

docker-my-gis's Introduction

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

docker-my-gis's People

Contributors

ghassen98 avatar maxhelias avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docker-my-gis's Issues

New feature

Increase stack with new feature like :

  • Redis
  • MailDev
  • Kibana
  • Logstash
  • RabbitMQ
  • ElasticSearch
  • Blackfire
  • Varnish
  • MapCache

Improve PHP

Add features to PHP Container :

  • PHP Redis
  • Opcache
  • Image optimizers
  • ImageMagick
  • Tokenizer
  • intl
  • ZipArchive
  • AMQP
  • GMP
  • Agent Blackfire

Configure log

Configure the log for the different services present :

  • Access log Nginx
  • PHP
  • Postgres / Postgis
  • MapServer

PHP Version

Suggest another version of php in the associated container, like 7.0 when mapscript will be compatible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.