Fixing the docker-compose.yml

This commit is contained in:
ZeroC0D3 Team 2017-03-17 13:57:54 +07:00
parent d172180660
commit 8de9eca8ae
1 changed files with 263 additions and 249 deletions

View File

@ -5,352 +5,368 @@ services:
### Applications Code Container ############################# ### Applications Code Container #############################
applications: applications:
image: tianon/true image: tianon/true
volumes: volumes:
- ../:/var/www - ${APPLICATION}:/var/www
# - ../sample/:/var/www/sample
### Workspace Utilities Container ########################### ### Workspace Utilities Container ###########################
workspace: workspace:
build: build:
context: ./workspace context: ./workspace
args: args:
- INSTALL_XDEBUG=false - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_SOAP=false - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_MONGO=false - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
- INSTALL_NODE=false - INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
- INSTALL_YARN=false - INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
- INSTALL_DRUSH=false - INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
- INSTALL_AEROSPIKE_EXTENSION=false - INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION}
- INSTALL_V8JS_EXTENSION=false - INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION}
- COMPOSER_GLOBAL_INSTALL=false - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- INSTALL_WORKSPACE_SSH=false - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=false - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_DEPLOYER=false - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_LINUXBREW=false - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- PUID=1000 - INSTALL_MC=${WORKSPACE_INSTALL_MC}
- PGID=1000 - PUID=${WORKSPACE_PUID}
- NODE_VERSION=stable - PGID=${WORKSPACE_PGID}
- YARN_VERSION=latest - NODE_VERSION=${WORKSPACE_NODE_VERSION}
- TZ=UTC - YARN_VERSION=${WORKSPACE_TIMEZONE}
volumes_from: - TZ=${WORKSPACE_TIMEZONE}
- applications volumes_from:
extra_hosts: - applications
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) extra_hosts:
- "dockerhost:10.0.75.1" - "dockerhost:${DOCKER_HOST_IP}"
ports: ports:
- "2222:22" - "${WORKSPACE_SSH_PORT}:22"
tty: true tty: true
### PHP-FPM Container ####################################### ### PHP-FPM Container #######################################
php-fpm: php-fpm:
build: build:
context: ./php-fpm context: ./php-fpm
args: args:
- INSTALL_XDEBUG=false - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_SOAP=false - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
- INSTALL_MONGO=false - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
- INSTALL_ZIP_ARCHIVE=false - INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
- INSTALL_BCMATH=false - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_PHPREDIS=false - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
- INSTALL_MEMCACHED=false - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_OPCACHE=false - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
- INSTALL_EXIF=false - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
- INSTALL_AEROSPIKE_EXTENSION=false - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION}
- CODEIGNITER=false - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
dockerfile: Dockerfile-70 - INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
volumes_from: - INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
- applications dockerfile: ${PHP_FPM_DOCKER_FILE}
expose: volumes_from:
- "9000" - applications
links: expose:
- workspace - "9000"
extra_hosts: depends_on:
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - workspace
- "dockerhost:10.0.75.1" extra_hosts:
environment: - "dockerhost:${DOCKER_HOST_IP}"
# IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` environment:
- PHP_IDE_CONFIG=serverName=laravel - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
### Nginx Server Container ################################## ### Nginx Server Container ##################################
nginx: nginx:
build: build:
context: ./nginx context: ./nginx
args: args:
- PHP_UPSTREAM=php-fpm - PHP_UPSTREAM=php-fpm
volumes_from: volumes_from:
- applications - applications
volumes: volumes:
- ./logs/nginx/:/var/log/nginx - ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ./nginx/sites/:/etc/nginx/sites-available - ${NGINX_SITES_PATH}:/etc/nginx/sites-available
ports: ports:
- "80:80" - "${NGINX_HOST_HTTP_PORT}:80"
- "443:443" - "${NGINX_HOST_HTTPS_PORT}:443"
links: depends_on:
- php-fpm - php-fpm
### Apache Server Container ################################# ### Apache Server Container #################################
apache2: apache2:
build: build:
context: ./apache2 context: ./apache2
args: args:
- PHP_SOCKET=php-fpm:9000 - PHP_SOCKET=${PHP_SOCKET}
volumes_from: volumes_from:
- applications - applications
volumes: volumes:
- ./logs/apache2:/var/log/apache2 - ${APACHE_HOST_LOG_PATH}:/var/log/apache2
ports: ports:
- "80:80" - "${APACHE_HOST_HTTP_PORT}:80"
- "443:443" - "${APACHE_HOST_HTTPS_PORT}:443"
links: depends_on:
- php-fpm - php-fpm
### HHVM Container ########################################## ### HHVM Container ##########################################
hhvm: hhvm:
build: ./hhvm build: ./hhvm
volumes_from: volumes_from:
- applications - applications
expose: expose:
- "9000" - "9000"
links: depends_on:
- workspace - workspace
### Minio Container ######################################### ### Minio Container #########################################
minio: minio:
build: ./minio build: ./minio
volumes: volumes:
- minio:/export - minio:/export
ports: ports:
- "9000:9000" - "${MINIO_PORT}:9000"
environment: environment:
MINIO_ACCESS_KEY: access MINIO_ACCESS_KEY: access
MINIO_SECRET_KEY: secretkey MINIO_SECRET_KEY: secretkey
### MySQL Container ######################################### ### MySQL Container #########################################
mysql: mysql:
build: build:
context: ./mysql context: ./mysql
args: args:
- MYSQL_DATABASE=homestead - MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=homestead - MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=secret - MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=root - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
volumes: volumes:
- mysql:/var/lib/mysql - mysql:/var/lib/mysql
ports: ports:
- "3306:3306" - "${MYSQL_PORT}:3306"
### MariaDB Container ####################################### ### MariaDB Container #######################################
mariadb: mariadb:
build: ./mariadb build: ./mariadb
volumes: volumes:
- mariadb:/var/lib/mysql - mariadb:/var/lib/mysql
ports: ports:
- "3306:3306" - "${MARIADB_PORT}:3306"
environment: environment:
- MYSQL_DATABASE=homestead - MYSQL_DATABASE=${MARIADB_DATABASE}
- MYSQL_USER=homestead - MYSQL_USER=${MARIADB_USER}
- MYSQL_PASSWORD=secret - MYSQL_PASSWORD=${MARIADB_PASSWORD}
- MYSQL_ROOT_PASSWORD=root - MYSQL_ROOT_PASSWORD=${MARIADB_PORT}
### PostgreSQL Container #################################### ### PostgreSQL Container ####################################
postgres: postgres:
build: ./postgres build: ./postgres
volumes: volumes:
- postgres:/var/lib/postgresql/data - postgres:/var/lib/postgresql/data
ports: ports:
- "5432:5432" - "${POSTGRES_PORT}:5432"
environment: environment:
- POSTGRES_DB=homestead - POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=homestead - POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=secret - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
### PostgreSQL PostGis Container ############################ ### PostgreSQL PostGis Container ############################
postgres-postgis: postgres-postgis:
build: ./postgres-postgis build: ./postgres-postgis
volumes: volumes:
- postgres:/var/lib/postgresql/data - postgres:/var/lib/postgresql/data
ports: ports:
- "5432:5432" - "${POSTGRES_PORT}:5432"
environment: environment:
- POSTGRES_DB=homestead - POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=homestead - POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=secret - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
### Neo4j Container ######################################### ### Neo4j Container #########################################
neo4j: neo4j:
build: ./neo4j build: ./neo4j
ports: ports:
- "7474:7474" - "7474:7474"
- "1337:1337" - "1337:1337"
environment: environment:
- NEO4J_AUTH=homestead:secret - NEO4J_AUTH=default:secret
volumes: volumes:
- neo4j:/var/lib/neo4j/data - neo4j:/var/lib/neo4j/data
### MongoDB Container ####################################### ### MongoDB Container #######################################
mongo: mongo:
build: ./mongo build: ./mongo
ports: ports:
- "27017:27017" - "27017:27017"
volumes: volumes:
- mongo:/data/db - mongo:/data/db
### RethinkDB Container ####################################### ### RethinkDB Container #######################################
rethinkdb: rethinkdb:
build: ./rethinkdb build: ./rethinkdb
ports: ports:
- "8090:8080" - "8090:8080"
volumes: volumes:
- rethinkdb:/data/rethinkdb_data - rethinkdb:/data/rethinkdb_data
### Redis Container ######################################### ### Redis Container #########################################
redis: redis:
build: ./redis build: ./redis
volumes: volumes:
- redis:/data - redis:/data
ports: ports:
- "6379:6379" - "6379:6379"
### Aerospike c Container ################################### ### Aerospike c Container ###################################
aerospike: aerospike:
build: ./aerospike build: ./aerospike
volumes_from: volumes_from:
- workspace - workspace
volumes: volumes:
- aerospike:/opt/aerospike/data - aerospike:/opt/aerospike/data
ports: ports:
- "3000:3000" - "3000:3000"
- "3001:3001" - "3001:3001"
- "3002:3002" - "3002:3002"
- "3003:3003" - "3003:3003"
### Memcached Container ##################################### ### Memcached Container #####################################
memcached: memcached:
build: ./memcached build: ./memcached
volumes: volumes:
- memcached:/var/lib/memcached - memcached:/var/lib/memcached
ports: ports:
- "11211:11211" - "${MEMCACHED_HOST_PORT}:11211"
links: depends_on:
- php-fpm - php-fpm
### Beanstalkd Container #################################### ### Beanstalkd Container ####################################
beanstalkd: beanstalkd:
build: ./beanstalkd build: ./beanstalkd
ports: ports:
- "11300:11300" - "${BEANSTALKD_HOST_PORT}:11300"
privileged: true privileged: true
links: depends_on:
- php-fpm - php-fpm
### RabbitMQ Container ###################################### ### RabbitMQ Container ######################################
rabbitmq: rabbitmq:
build: ./rabbitmq build: ./rabbitmq
ports: ports:
- "5672:5672" - "${RABBITMQ_NODE_HOST_PORT}:5672"
- "15671:15671" - "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672"
- "8080:15672" - "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671"
privileged: true privileged: true
environment: environment:
- RABBITMQ_DEFAULT_USER=guest - RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
- RABBITMQ_DEFAULT_PASS=guest - RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
links: depends_on:
- php-fpm - php-fpm
### Beanstalkd Console Container ############################ ### Beanstalkd Console Container ############################
beanstalkd-console: beanstalkd-console:
build: ./beanstalkd-console build: ./beanstalkd-console
ports: ports:
- "2080:2080" - "2080:2080"
links: depends_on:
- beanstalkd - beanstalkd
### Caddy Server Container ################################## ### Caddy Server Container ##################################
caddy: caddy:
build: ./caddy build: ./caddy
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
- "2015:2015" - "2015:2015"
volumes_from: volumes_from:
- applications - applications
volumes: volumes:
- ./caddy/Caddyfile:/etc/Caddyfile - ./caddy/Caddyfile:/etc/Caddyfile
- ./logs/caddy:/var/log/caddy - ./logs/caddy:/var/log/caddy
- caddy:/root/.caddy - caddy:/root/.caddy
links: depends_on:
- php-fpm - php-fpm
### phpMyAdmin Container #################################### ### phpMyAdmin Container ####################################
phpmyadmin: phpmyadmin:
build: ./phpmyadmin build: ./phpmyadmin
environment: environment:
- PMA_ARBITRARY=1 - PMA_ARBITRARY=1
- MYSQL_USER=homestead - MYSQL_USER=${PMA_USER}
- MYSQL_PASSWORD=secret - MYSQL_PASSWORD=${PMA_PASSWORD}
- MYSQL_ROOT_PASSWORD=root - MYSQL_ROOT_PASSWORD=${PMA_ROOT_PASSWORD}
ports: ports:
- "8080:80" - "${PMA_PORT}:80"
links: depends_on:
# for mysql container - "${PMA_DB_ENGINE}"
- "mysql:db"
# for mariadb container
# - "mariadb:db"
### pgAdmin Container ####################################### ### pgAdmin Container #######################################
pgadmin: pgadmin:
build: ./pgadmin build: ./pgadmin
ports: ports:
- "5050:5050" - "5050:5050"
links: depends_on:
- postgres - postgres
### ElasticSearch Container ################################# ### ElasticSearch Container #################################
elasticsearch: elasticsearch:
build: ./elasticsearch build: ./elasticsearch
volumes: volumes:
- elasticsearch-data:/usr/share/elasticsearch/data - elasticsearch-data:/usr/share/elasticsearch/data
- elasticsearch-plugins:/usr/share/elasticsearch/data - elasticsearch-plugins:/usr/share/elasticsearch/plugins
ports: ports:
- "9200:9200" - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
- "9300:9300" - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
links: depends_on:
- php-fpm - php-fpm
### Certbot Container ##################################
certbot:
build:
context: ./certbot
volumes:
- ./data/certbot/certs/:/var/certs
- ./certbot/letsencrypt/:/var/www/letsencrypt
environment:
- CN="fake.domain.com"
- EMAIL="fake.email@gmail.com"
### Mailhog Container #########################################
mailhog:
build: ./mailhog
ports:
- "1025:1025"
- "8025:8025"
### Selenium Container ######################################### ### Selenium Container #########################################
selenium: selenium:
build: ./selenium build: ./selenium
ports: ports:
- "4444:4444" - "${SELENIUM_PORT}:4444"
volumes: volumes:
# see https://github.com/SeleniumHQ/docker-selenium#running-the-images - /dev/shm:/dev/shm
- /dev/shm:/dev/shm
### Volumes Setup ########################################### ### Volumes Setup ###########################################
@ -383,5 +399,3 @@ volumes:
driver: "local" driver: "local"
elasticsearch-plugins: elasticsearch-plugins:
driver: "local" driver: "local"
sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
driver: "local"