This repository allows the creation of a Docker environment that meets Proximis Omnichannel requirements.
Here are the environment containers:
nginx
: nginx:stable image.php
: php:7.1-fpm images.mysql
: mariadb:latest image.elasticsearch
: elasticsearch:5.5.0 image.kibana
: kibana:5.5.3 image.logstash
: logstash:5.5.0 image.redis
: redis:latest image.maildev
: djfarrelly/maildev:latest image.
$ docker-compose ps
------------------------------------------------------------------------------------------------------------------------
proximis_elasticsearch_1 /docker-entrypoint.sh elas ... Up 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
proximis_kibana_1 /bin/sh -c /usr/local/bin/ ... Up 0.0.0.0:5601->5601/tcp
proximis_logstash_1 /usr/local/bin/docker-entr ... Up 0.0.0.0:5000->5000/tcp, 5044/tcp, 9600/tcp
proximis_maildev_1 bin/maildev --web 80 --smtp 25 Up 25/tcp, 0.0.0.0:1080->80/tcp
proximis_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
proximis_nginx_1 nginx -g daemon off; Up 443/tcp, 0.0.0.0:80->80/tcp
proximis_php_1 docker-php-entrypoint php-fpm Up 9000/tcp
proximis_redis_1 docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
This process assumes that depending of your OS, Docker for Mac, Docker for Windows or Docker for linux is installed.
Otherwise, Docker Toolbox should be installed before proceeding.
The path to the local shared folder is ~/www
by default.
After the installation, the Proximis application is reachable by using http://proximis.localhost/
.
$ git clone git@github.com:EmakinaFR/docker-proximis.git proximis
It's also possible to download this repository as a ZIP archive.
$ cp docker-env.dist docker-env
$ nano docker-env
The only mandatory environment variable is: MYSQL_ROOT_PASSWORD.
$ docker-compose start
$ docker-machine create --driver=virtualbox proximis
$ eval "$(docker-machine env proximis)"
$ docker-compose up -d
$ docker-machine ip proximis | sudo sh -c 'echo "$(awk {"print $1"}) proximis.localhost" >> /etc/hosts'
This command add automatically the virtual machine IP address in the /etc/hosts
file.
This operation can be achieved through the PHP-FPM container.
$ docker-compose exec php /bin/bash
Once in the container, the official documentation explains all the remaining steps.
The path to the local shared folder can be changed by editing the docker-compose.yml
file.
It's also possible to automatically define Nginx servers, PHP or Redis configuration. When the environment is built:
*.conf
files located under thenginx/site-available
directory are copied to/etc/nginx/conf.d/
,*.ini
files located under thephp
directory are copied to/usr/local/etc/php/conf.d/
.redis.conf
file located under theredis
directory is copied to/usr/local/etc/redis/
.