upgrade docker-compose to v3

This commit is contained in:
Mahmoud Zalt 2018-04-05 16:43:22 +03:00
parent 06353031ac
commit a0c5ef75d2
10 changed files with 238 additions and 307 deletions

View File

@ -478,18 +478,14 @@ composer create-project laravel/laravel my-cool-app "5.2.*"
For more about the Laravel installation click [here](https://laravel.com/docs/master#installing-laravel).
3 - Edit `docker-compose.yml` to Map the new application path:
3 - Edit `.env` to Map the new application path:
By default, Laradock assumes the Laravel application is living in the parent directory of the laradock folder.
Since the new Laravel application is in the `my-cool-app` folder, we need to replace `../:/var/www` with `../my-cool-app/:/var/www`, as follow:
```yaml
application:
image: tianon/true
volumes:
- ../my-cool-app/:/var/www
...
```dotenv
APP_CODE_PATH_HOST=../my-cool-app/
```
4 - Go to that folder and start working..
@ -1525,14 +1521,14 @@ Quick Setup giude, (we recommend you check their docs)
You can use the d4m-nfs solution in 2 ways, one is using the Laradock built it integration, and the other is using the tool separatly. Below is show case of both methods:
#### B.1: using the built in d4m-nfs integration
### B.1: using the built in d4m-nfs integration
In simple terms, docker-sync creates a docker container with a copy of all the application files that can be accessed very quickly from the other containers.
On the other hand, docker-sync runs a process on the host machine that continuously tracks and updates files changes from the host to this intermediate container.
Out of the box, it comes pre-configured for OS X, but using it on Windows is very easy to set-up by modifying the `DOCKER_SYNC_STRATEGY` on the `.env`
##### Usage
#### Usage
Laradock comes with `sync.sh`, an optional bash script, that automates installing, running and stopping docker-sync. Note that to run the bash script you may need to change the permissions `chmod 755 sync.sh`
@ -1547,22 +1543,24 @@ Laradock comes with `sync.sh`, an optional bash script, that automates installin
DOCKER_SYNC_STRATEGY=native_osx
```
2) Install the docker-sync gem on the host-machine:
3) set `APP_CODE_PATH_CONTAINER=/var/www` to `APP_CODE_PATH_CONTAINER=/var/www:nocopy` in the .env file
4) Install the docker-sync gem on the host-machine:
```bash
./sync.sh install
```
3) Start docker-sync and the Laradock environment.
5) Start docker-sync and the Laradock environment.
Specify the services you want to run, as you would normally do with `docker-compose up`
```bash
./sync.sh up nginx mysql
```
Please note that the first time docker-sync runs, it will copy all the files to the intermediate container and that may take a very long time (15min+).
4) To stop the environment and docker-sync do:
6) To stop the environment and docker-sync do:
```bash
./sync.sh down
```
##### Setting up Aliases (optional)
#### Setting up Aliases (optional)
You may create bash profile aliases to avoid having to remember and type these commands for everyday development.
Add the following lines to your `~/.bash_profile`:
@ -1576,7 +1574,7 @@ alias devdown="cd /PATH_TO_LARADOCK/laradock; ./sync.sh down"
Now from any location on your machine, you can simply run `devup`, `devbash` and `devdown`.
##### Additional Commands
#### Additional Commands
Opening bash on the workspace container (to run artisan for example):
```bash
@ -1592,7 +1590,7 @@ Removing and cleaning up the files and the docker-sync container. Use only if yo
```
##### Additional Notes
#### Additional Notes
- You may run laradock with or without docker-sync at any time using with the same `.env` and `docker-compose.yml`, because the configuration is overridden automatically when docker-sync is used.
- You may inspect the `sync.sh` script to learn each of the commands and even add custom ones.
@ -1609,7 +1607,7 @@ Visit the [docker-sync documentation](https://github.com/EugenMayer/docker-sync/
<br>
#### B.2: using the d4m-nfs tool
### B.2: using the d4m-nfs tool
[D4m-nfs](https://github.com/IFSight/d4m-nfs) automatically mount NFS volume instead of osxfs one.
@ -1751,4 +1749,4 @@ Example:
```bash
WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
```
```

View File

@ -161,7 +161,7 @@ We recommend using a Docker version which is newer than 1.13.
cp env-example .env
```
You can edit the `.env` file to chose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are been used.
You can edit the `.env` file to choose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are been used.
Depending on the host's operating system you may need to change the value given to `COMPOSE_FILE`. When you are running Laradock on Mac OS the correct file separator to use is `:`. When running Laradock from a Windows environment multiple files must be separated with `;`.
@ -173,7 +173,7 @@ In this example we'll see how to run NGINX (web server) and MySQL (database engi
docker-compose up -d nginx mysql
```
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
**Note**: The web servers `nginx`, `apache`.. all depend on `php-fpm`, means if you just run, them they will automatically run the `php-fpm` for you, so no need to specify them in the `up` command. If you don't see them running then you may need run them as follow: `docker-compose up -d nginx php-fpm mysql...`.
You can select your own combination of containers from [this list](http://laradock.io/introduction/#supported-software-images).

View File

@ -35,7 +35,7 @@ cp env-example .env
3 - Run your containers:
```shell
docker-compose up -d nginx mysql redis beanstalkd
docker-compose up -d nginx mysql phpmyadmin redis workspace
```
4 - Open your project's `.env` file and set the following:

View File

@ -1,9 +0,0 @@
version: "2"
services:
### Applications Code Container #############################
applications:
volumes:
- ${APPLICATION}:/var/www:cached

View File

@ -1,13 +1,13 @@
version: '2'
version: '3'
services:
### Applications Code Container #############################
applications:
image: tianon/true
volumes:
- applications-sync:/var/www:nocopy # nocopy is required
# applications:
# image: tianon/true
# volumes:
# - applications-sync:/var/www:nocopy # nocopy is required
### Volumes Setup #############################################

View File

@ -1,14 +1,48 @@
version: '2'
version: '3'
networks:
frontend:
driver: ${NETWORKS_DRIVER}
backend:
driver: ${NETWORKS_DRIVER}
volumes:
mysql:
driver: ${VOLUMES_DRIVER}
percona:
driver: ${VOLUMES_DRIVER}
mssql:
driver: ${VOLUMES_DRIVER}
postgres:
driver: ${VOLUMES_DRIVER}
memcached:
driver: ${VOLUMES_DRIVER}
redis:
driver: ${VOLUMES_DRIVER}
neo4j:
driver: ${VOLUMES_DRIVER}
mariadb:
driver: ${VOLUMES_DRIVER}
mongo:
driver: ${VOLUMES_DRIVER}
minio:
driver: ${VOLUMES_DRIVER}
rethinkdb:
driver: ${VOLUMES_DRIVER}
phpmyadmin:
driver: ${VOLUMES_DRIVER}
adminer:
driver: ${VOLUMES_DRIVER}
aerospike:
driver: ${VOLUMES_DRIVER}
caddy:
driver: ${VOLUMES_DRIVER}
elasticsearch:
driver: ${VOLUMES_DRIVER}
services:
### Applications Code Container #############################
applications:
image: tianon/true
### Workspace Utilities Container ###########################
### Workspace Utilities ##################################
workspace:
build:
context: ./workspace
@ -55,8 +89,8 @@ services:
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
dockerfile: "Dockerfile-${PHP_VERSION}"
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
ports:
@ -68,8 +102,7 @@ services:
- frontend
- backend
### PHP-FPM Container #######################################
### PHP-FPM ##############################################
php-fpm:
build:
context: ./php-fpm
@ -100,14 +133,11 @@ services:
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
dockerfile: "Dockerfile-${PHP_VERSION}"
volumes_from:
- applications
volumes:
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
expose:
- "9000"
depends_on:
- workspace
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
environment:
@ -115,17 +145,15 @@ services:
networks:
- backend
### PHP Worker Container #####################################
### PHP Worker ############################################
php-worker:
build:
context: ./php-worker
dockerfile: "Dockerfile-${PHP_VERSION}"
args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ./php-worker/supervisord.d:/etc/supervisord.d
depends_on:
- workspace
@ -134,17 +162,15 @@ services:
networks:
- backend
### NGINX Server Container ##################################
### NGINX Server #########################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
ports:
@ -156,8 +182,7 @@ services:
- frontend
- backend
### Blackfire Container #################################
### Blackfire ########################################
blackfire:
image: blackfire/blackfire
environment:
@ -168,8 +193,7 @@ services:
networks:
- backend
### Apache Server Container #################################
### Apache Server ########################################
apache2:
build:
context: ./apache2
@ -178,9 +202,8 @@ services:
- PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT}
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
- ${APACHE_SITES_PATH}:/etc/apache2/sites-available
ports:
@ -192,12 +215,11 @@ services:
- frontend
- backend
### HHVM Container ##########################################
### HHVM #################################################
hhvm:
build: ./hhvm
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
expose:
- "9000"
depends_on:
@ -206,13 +228,12 @@ services:
- frontend
- backend
### Minio Container #########################################
### Minio ################################################
minio:
build: ./minio
volumes:
- ${DATA_SAVE_PATH}/minio/data:/export
- ${DATA_SAVE_PATH}/minio/config:/root/.minio
- ${DATA_PATH_HOST}/minio/data:/export
- ${DATA_PATH_HOST}/minio/config:/root/.minio
ports:
- "${MINIO_PORT}:9000"
environment:
@ -222,8 +243,7 @@ services:
- frontend
- backend
### MySQL Container #########################################
### MySQL ################################################
mysql:
build:
context: ./mysql
@ -236,15 +256,14 @@ services:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MYSQL_PORT}:3306"
networks:
- backend
### Percona Container #########################################
### Percona ################################################
percona:
build:
context: ./percona
@ -254,15 +273,14 @@ services:
- MYSQL_PASSWORD=${PERCONA_PASSWORD}
- MYSQL_ROOT_PASSWORD=${PERCONA_ROOT_PASSWORD}
volumes:
- ${DATA_SAVE_PATH}/percona:/var/lib/mysql
- ${DATA_PATH_HOST}/percona:/var/lib/mysql
- ${PERCONA_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${PERCONA_PORT}:3306"
networks:
- backend
### MSSQL Container #########################################
### MSSQL ################################################
mssql:
build:
context: ./mssql
@ -271,18 +289,17 @@ services:
- SA_PASSWORD=${MSSQL_PASSWORD}
- ACCEPT_EULA=Y
volumes:
- ${DATA_SAVE_PATH}/mssql:/var/opt/mssql
- ${DATA_PATH_HOST}/mssql:/var/opt/mssql
ports:
- "${MSSQL_PORT}:1433"
networks:
- backend
### MariaDB Container #######################################
### MariaDB ##############################################
mariadb:
build: ./mariadb
volumes:
- ${DATA_SAVE_PATH}/mariadb:/var/lib/mysql
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MARIADB_PORT}:3306"
@ -294,12 +311,11 @@ services:
networks:
- backend
### PostgreSQL Container ####################################
### PostgreSQL ###########################################
postgres:
build: ./postgres
volumes:
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT}:5432"
environment:
@ -309,12 +325,11 @@ services:
networks:
- backend
### PostgreSQL PostGis Container ############################
### PostgreSQL PostGis ###################################
postgres-postgis:
build: ./postgres-postgis
volumes:
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT}:5432"
environment:
@ -324,8 +339,7 @@ services:
networks:
- backend
### Neo4j Container #########################################
### Neo4j ################################################
neo4j:
build: ./neo4j
ports:
@ -334,51 +348,46 @@ services:
environment:
- NEO4J_AUTH=default:secret
volumes:
- ${DATA_SAVE_PATH}/neo4j:/var/lib/neo4j/data
- ${DATA_PATH_HOST}/neo4j:/var/lib/neo4j/data
networks:
- backend
### MongoDB Container #######################################
### MongoDB ##############################################
mongo:
build: ./mongo
ports:
- "${MONGODB_PORT}:27017"
volumes:
- ${DATA_SAVE_PATH}/mongo:/data/db
- ${DATA_PATH_HOST}/mongo:/data/db
networks:
- backend
### RethinkDB Container #######################################
### RethinkDB ##############################################
rethinkdb:
build: ./rethinkdb
ports:
- "${RETHINKDB_PORT}:8080"
volumes:
- ${DATA_SAVE_PATH}/rethinkdb:/data/rethinkdb_data
- ${DATA_PATH_HOST}/rethinkdb:/data/rethinkdb_data
networks:
- backend
### Redis Container #########################################
### Redis ################################################
redis:
build: ./redis
volumes:
- ${DATA_SAVE_PATH}/redis:/data
- ${DATA_PATH_HOST}/redis:/data
ports:
- "${REDIS_PORT}:6379"
networks:
- backend
### Aerospike c Container ###################################
### Aerospike ##########################################
aerospike:
build: ./aerospike
volumes_from:
- workspace
volumes:
- ${DATA_SAVE_PATH}/aerospike:/opt/aerospike/data
- workspace
- ${DATA_PATH_HOST}/aerospike:/opt/aerospike/data
ports:
- "${AEROSPIKE_SERVICE_PORT}:3000"
- "${AEROSPIKE_FABRIC_PORT}:3001"
@ -387,12 +396,11 @@ services:
networks:
- backend
### Memcached Container #####################################
### Memcached ############################################
memcached:
build: ./memcached
volumes:
- ${DATA_SAVE_PATH}/memcached:/var/lib/memcached
- ${DATA_PATH_HOST}/memcached:/var/lib/memcached
ports:
- "${MEMCACHED_HOST_PORT}:11211"
depends_on:
@ -400,8 +408,7 @@ services:
networks:
- backend
### Beanstalkd Container ####################################
### Beanstalkd ###########################################
beanstalkd:
build: ./beanstalkd
ports:
@ -412,8 +419,7 @@ services:
networks:
- backend
### RabbitMQ Container ######################################
### RabbitMQ #############################################
rabbitmq:
build: ./rabbitmq
ports:
@ -429,8 +435,7 @@ services:
networks:
- backend
### Beanstalkd Console Container ############################
### Beanstalkd Console ###################################
beanstalkd-console:
build: ./beanstalkd-console
ports:
@ -440,16 +445,14 @@ services:
networks:
- backend
### Caddy Server Container ##################################
### Caddy Server #########################################
caddy:
build: ./caddy
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${CADDY_CUSTOM_CADDYFILE}:/etc/Caddyfile
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy
- ${DATA_SAVE_PATH}:/root/.caddy
- ${DATA_PATH_HOST}:/root/.caddy
ports:
- "${CADDY_HOST_HTTP_PORT}:80"
- "${CADDY_HOST_HTTPS_PORT}:443"
@ -459,8 +462,7 @@ services:
- frontend
- backend
### phpMyAdmin Container ####################################
### phpMyAdmin ###########################################
phpmyadmin:
build: ./phpmyadmin
environment:
@ -476,8 +478,7 @@ services:
- frontend
- backend
### Adminer Container ####################################
### Adminer ###########################################
adminer:
build:
context: ./adminer
@ -491,14 +492,13 @@ services:
- frontend
- backend
### pgAdmin Container #######################################
### pgAdmin ##############################################
pgadmin:
build: ./pgadmin
ports:
- "5050:5050"
volumes:
- ${DATA_SAVE_PATH}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
- ${DATA_PATH_HOST}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
depends_on:
- postgres
networks:
@ -506,12 +506,11 @@ services:
- backend
### ElasticSearch Container #################################
### ElasticSearch ########################################
elasticsearch:
build: ./elasticsearch
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
- elasticsearch:/usr/share/elasticsearch/data
environment:
- cluster.name=laradock-cluster
- bootstrap.memory_lock=true
@ -520,7 +519,6 @@ services:
memlock:
soft: -1
hard: -1
mem_limit: 1024m
ports:
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
@ -531,8 +529,7 @@ services:
- backend
### Kibana Container #######################################
### Kibana ##############################################
kibana:
build: ./kibana
ports:
@ -543,22 +540,20 @@ services:
- frontend
- backend
### Certbot Container ##################################
### Certbot #########################################
certbot:
build:
context: ./certbot
volumes:
- ./data/certbot/certs/:/var/certs
- ./certbot/letsencrypt/:/var/www/letsencrypt
- ./certbot/letsencrypt/:${APP_CODE_PATH_CONTAINER}/letsencrypt
environment:
- CN="fake.domain.com"
- EMAIL="fake.email@gmail.com"
networks:
- frontend
### Mailhog Container #########################################
### Mailhog ################################################
mailhog:
build: ./mailhog
ports:
@ -568,8 +563,7 @@ services:
- frontend
- backend
### MailDev Container #######################################
### MailDev ##############################################
maildev:
build: ./maildev
ports:
@ -579,8 +573,7 @@ services:
- frontend
- backend
### Selenium Container ########################################
### Selenium ###############################################
selenium:
build: ./selenium
ports:
@ -590,8 +583,7 @@ services:
networks:
- frontend
### Varnish Proxy 1 ##########################################
### Varnish ##########################################
proxy:
build: ./varnish
expose:
@ -609,8 +601,6 @@ services:
networks:
- frontend
### Varnish Proxy 2 ##########################################
proxy2:
build: ./varnish
expose:
@ -628,8 +618,7 @@ services:
networks:
- frontend
### HAProxy Load Balancer ####################################
### HAProxy ####################################
haproxy:
build: ./haproxy
ports:
@ -641,7 +630,6 @@ services:
- proxy2
### Jenkins ###################################################
jenkins:
build: ./jenkins
environment:
@ -657,13 +645,12 @@ services:
- frontend
- backend
### Grafana Container #########################################
### Grafana ################################################
grafana:
build:
context: ./grafana
volumes:
- ${DATA_SAVE_PATH}/grafana:/var/lib/grafana
- ${DATA_PATH_HOST}/grafana:/var/lib/grafana
ports:
- "${GRAFANA_PORT}:3000"
networks:
@ -683,8 +670,7 @@ services:
- frontend
- backend
### Solr Container #########################################
### Solr ################################################
solr:
build:
context: ./solr
@ -692,62 +678,18 @@ services:
- SOLR_VERSION=${SOLR_VERSION}
- SOLR_DATAIMPORTHANDLER_MYSQL=${SOLR_DATAIMPORTHANDLER_MYSQL}
volumes:
- ${DATA_SAVE_PATH}/solr:/opt/solr/server/solr/mycores
- ${DATA_PATH_HOST}/solr:/opt/solr/server/solr/mycores
ports:
- "${SOLR_PORT}:8983"
networks:
- backend
### AWS EB-CLI ####
### AWS EB-CLI ################################################
aws:
build:
context: ./aws
volumes_from:
- applications
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
depends_on:
- workspace
tty: true
### Networks Setup ############################################
networks:
frontend:
driver: "bridge"
backend:
driver: "bridge"
### Volumes Setup #############################################
volumes:
mysql:
driver: "local"
percona:
driver: "local"
mssql:
driver: "local"
postgres:
driver: "local"
memcached:
driver: "local"
redis:
driver: "local"
neo4j:
driver: "local"
mariadb:
driver: "local"
mongo:
driver: "local"
minio:
driver: "local"
rethinkdb:
driver: "local"
phpmyadmin:
driver: "local"
adminer:
driver: "local"
aerospike:
driver: "local"
caddy:
driver: "local"
elasticsearch-data:
driver: "local"

View File

@ -1,81 +1,96 @@
###########################################################
# General Setup
###################### General Setup ######################
###########################################################
### Application Path ###################################################################################################
# Point to your code, will be available at `/var/www`.
### Paths #################################################
APPLICATION=../
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../
# Point to where the `APP_CODE_PATH_HOST` should be in the container. You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_PATH_CONTAINER=/var/www:cached
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data
### Drivers ################################################
# All volumes driver
VOLUMES_DRIVER=local
# All Networks driver
NETWORKS_DRIVER=bridge
### Docker compose files ##################################
# Select which docker-compose files to include. If using docker-sync append `:docker-compose.sync.yml` at the end
COMPOSE_FILE=docker-compose.yml
# Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=:
### PHP Version ###########################################
### PHP Version ########################################################################################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 72 - 71 - 70 - 56
PHP_VERSION=72
### PHP Interpreter ####################################################################################################
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
### PHP Interpreter #######################################
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
PHP_INTERPRETER=php-fpm
### Data Path ##########################################################################################################
# Choose storage path on your machine. For all storage systems.
### Docker Host IP ########################################
DATA_SAVE_PATH=~/.laradock/data
### Docker compose files ###############################################################################################
# Select which docker-compose files to include.
# If using docker-sync. Set the value to: docker-compose.yml:docker-compose.dev.yml:docker-compose.sync.yml
# Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
### Docker Host IP #####################################################################################################
# Enter your Docker Host IP (will be appended to /etc/hosts). Default is `10.0.75.1`
DOCKER_HOST_IP=10.0.75.1
### Remote Interpreter #################################################################################################
# Choose a Remote Interpreter entry matching name. Default is `laradock`
### Remote Interpreter ####################################
# Choose a Remote Interpreter entry matching name. Default is `laradock`
PHP_IDE_CONFIG=serverName=laradock
### Windows Path #######################################################################################################
# A fix for Windows users, to ensure the application path works.
### Windows Path ##########################################
# A fix for Windows users, to ensure the application path works
COMPOSE_CONVERT_WINDOWS_PATHS=1
### Environment ########################################################################################################
# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env.
### Environment ###########################################
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=false
########################################################################################################################
### Docker Sync ###########################################
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
DOCKER_SYNC_STRATEGY=native_osx
###########################################################
# Containers Customization
################ Containers Customization #################
###########################################################
### WORKSPACE ##########################################################################################################
### WORKSPACE #############################################
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_INSTALL_NODE=true
WORKSPACE_NODE_VERSION=stable
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_YARN=true
WORKSPACE_YARN_VERSION=latest
WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_AMQP=false
WORKSPACE_INSTALL_PHPREDIS=false
WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_NODE=false
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_YARN=false
WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_V8JS=false
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
WORKSPACE_INSTALL_DEPLOYER=false
@ -93,43 +108,42 @@ WORKSPACE_INSTALL_SWOOLE=false
WORKSPACE_PUID=1000
WORKSPACE_PGID=1000
WORKSPACE_CHROME_DRIVER_VERSION=2.32
WORKSPACE_NODE_VERSION=stable
WORKSPACE_YARN_VERSION=latest
WORKSPACE_TIMEZONE=UTC
WORKSPACE_SSH_PORT=2222
### PHP_FPM ############################################################################################################
### PHP_FPM ###############################################
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_MYSQLI=true
PHP_FPM_INSTALL_TOKENIZER=true
PHP_FPM_INSTALL_INTL=true
PHP_FPM_INSTALL_IMAGEMAGICK=true
PHP_FPM_INSTALL_OPCACHE=true
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_IMAP=false
PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_ZIP_ARCHIVE=false
PHP_FPM_INSTALL_BCMATH=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_PHPREDIS=false
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_OPCACHE=false
PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_PGSQL=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_POSTGRES=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
PHP_FPM_INSTALL_LDAP=false
PHP_FPM_INSTALL_SWOOLE=false
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=false
PHP_FPM_INSTALL_IMAGEMAGICK=false
PHP_FPM_INSTALL_PG_CLIENT=false
### PHP_WORKER #########################################################################################################
### PHP_WORKER ############################################
PHP_WORKER_INSTALL_PGSQL=false
### NGINX ##############################################################################################################
### NGINX #################################################
NGINX_HOST_HTTP_PORT=80
NGINX_HOST_HTTPS_PORT=443
@ -138,7 +152,7 @@ NGINX_SITES_PATH=./nginx/sites/
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
NGINX_PHP_UPSTREAM_PORT=9000
### APACHE #############################################################################################################
### APACHE ################################################
APACHE_HOST_HTTP_PORT=80
APACHE_HOST_HTTPS_PORT=443
@ -149,7 +163,7 @@ APACHE_PHP_UPSTREAM_PORT=9000
APACHE_PHP_UPSTREAM_TIMEOUT=60
APACHE_DOCUMENT_ROOT=/var/www/
### MYSQL ##############################################################################################################
### MYSQL #################################################
MYSQL_VERSION=latest
MYSQL_DATABASE=default
@ -159,11 +173,11 @@ MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
### REDIS ##############################################################################################################
### REDIS #################################################
REDIS_PORT=6379
### Percona ############################################################################################################
### Percona ###############################################
PERCONA_DATABASE=homestead
PERCONA_USER=homestead
@ -172,13 +186,13 @@ PERCONA_PORT=3306
PERCONA_ROOT_PASSWORD=root
PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d
### MSSQL ##############################################################################################################
### MSSQL #################################################
MSSQL_DATABASE=homestead
MSSQL_PASSWORD=yourStrong(!)Password
MSSQL_PORT=1433
### MARIADB ############################################################################################################
### MARIADB ###############################################
MARIADB_DATABASE=default
MARIADB_USER=default
@ -187,14 +201,14 @@ MARIADB_PORT=3306
MARIADB_ROOT_PASSWORD=root
MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
### POSTGRES ###########################################################################################################
### POSTGRES ##############################################
POSTGRES_DB=default
POSTGRES_USER=default
POSTGRES_PASSWORD=secret
POSTGRES_PORT=5432
### RABBITMQ ###########################################################################################################
### RABBITMQ ##############################################
RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
@ -202,43 +216,43 @@ RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
### ELASTICSEARCH ######################################################################################################
### ELASTICSEARCH #########################################
ELASTICSEARCH_HOST_HTTP_PORT=9200
ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
### KIBANA #############################################################################################################
### KIBANA ################################################
KIBANA_HTTP_PORT=5601
### MEMCACHED ##########################################################################################################
### MEMCACHED #############################################
MEMCACHED_HOST_PORT=11211
### BEANSTALKD CONSOLE #################################################################################################
### BEANSTALKD CONSOLE ####################################
BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
BEANSTALKD_CONSOLE_HOST_PORT=2080
### BEANSTALKD #########################################################################################################
### BEANSTALKD ############################################
BEANSTALKD_HOST_PORT=11300
### SELENIUM ###########################################################################################################
### SELENIUM ##############################################
SELENIUM_PORT=4444
### MINIO ##############################################################################################################
### MINIO #################################################
MINIO_PORT=9000
### ADMINER ############################################################################################################
### ADMINER ###############################################
ADM_PORT=8080
ADM_INSTALL_MSSQL=false
### PHP MY ADMIN #######################################################################################################
### PHP MY ADMIN ##########################################
# Accepted values: mariadb - mysql
@ -251,95 +265,81 @@ PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret
PMA_PORT=8080
### MAILDEV ############################################################################################################
### MAILDEV ###############################################
MAILDEV_HTTP_PORT=1080
MAILDEV_SMTP_PORT=25
### VARNISH ############################################################################################################
### VARNISH ###############################################
VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_PORT=8080
VARNISH_BACKEND_PORT=8888
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600
### Varnish ############################################################################################################
### Varnish ###############################################
# Proxy 1
VARNISH_PROXY1_CACHE_SIZE=128m
VARNISH_PROXY1_BACKEND_HOST=workspace
VARNISH_PROXY1_SERVER=SERVER1
# Proxy 2
VARNISH_PROXY2_CACHE_SIZE=128m
VARNISH_PROXY2_BACKEND_HOST=workspace
VARNISH_PROXY2_SERVER=SERVER2
### HAPROXY ############################################################################################################
### HAPROXY ###############################################
HAPROXY_HOST_HTTP_PORT=8085
### JENKINS ############################################################################################################
### JENKINS ###############################################
JENKINS_HOST_HTTP_PORT=8090
JENKINS_HOST_SLAVE_AGENT_PORT=50000
JENKINS_HOME=./jenkins/jenkins_home
### GRAFANA ############################################################################################################
### GRAFANA ###############################################
GRAFANA_PORT=3000
### BLACKFIRE ##########################################################################################################
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time.
# visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
### BLACKFIRE #############################################
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
INSTALL_BLACKFIRE=false
BLACKFIRE_CLIENT_ID=<client_id>
BLACKFIRE_CLIENT_TOKEN=<client_token>
BLACKFIRE_SERVER_ID=<server_id>
BLACKFIRE_SERVER_TOKEN=<server_token>
### AEROSPIKE ##########################################################################################################
### AEROSPIKE #############################################
AEROSPIKE_SERVICE_PORT=3000
AEROSPIKE_FABRIC_PORT=3001
AEROSPIKE_HEARTBEAT_PORT=3002
AEROSPIKE_INFO_PORT=3003
### RETHINKDB ##########################################################################################################
### RETHINKDB #############################################
RETHINKDB_PORT=8090
### MONGODB ############################################################################################################
### MONGODB ###############################################
MONGODB_PORT=27017
### CADDY ##############################################################################################################
### CADDY #################################################
CADDY_HOST_HTTP_PORT=80
CADDY_HOST_HTTPS_PORT=443
CADDY_HOST_LOG_PATH=./logs/caddy
CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile
### LARAVEL ECHO SERVER ################################################################################################
### LARAVEL ECHO SERVER ###################################
LARAVEL_ECHO_SERVER_PORT=6001
### SOLR ###############################################################################################################
### SOLR ##################################################
SOLR_VERSION=5.5
SOLR_PORT=8983
SOLR_DATAIMPORTHANDLER_MYSQL=false
### DOCKER-SYNC ################################################################################################
# osx: 'native_osx' (default)
# windows: 'unison'
# linux: docker-sync not required
DOCKER_SYNC_STRATEGY=native_osx
########################################################################################################################

View File

@ -8,9 +8,9 @@
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
###
### this sql script is auto run when mariadb container start and $DATA_SAVE_PATH/mariadb not exists.
### this sql script is auto run when mariadb container start and $DATA_PATH_HOST/mariadb not exists.
###
### if your $DATA_SAVE_PATH/mariadb is exists and you do not want to delete it, you can run by manual execution:
### if your $DATA_PATH_HOST/mariadb is exists and you do not want to delete it, you can run by manual execution:
###
### docker-compose exec mariadb bash
### mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

View File

@ -8,9 +8,9 @@
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
#
# this sql script will auto run when the mysql container starts and the $DATA_SAVE_PATH/mysql not found.
# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found.
#
# if your $DATA_SAVE_PATH/mysql exists and you do not want to delete it, you can run by manual execution:
# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution:
#
# docker-compose exec mysql bash
# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

View File

@ -8,9 +8,9 @@
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
###
### this sql script is auto run when percona container start and $DATA_SAVE_PATH/percona not exists.
### this sql script is auto run when percona container start and $DATA_PATH_HOST/percona not exists.
###
### if your $DATA_SAVE_PATH/percona is exists and you do not want to delete it, you can run by manual execution:
### if your $DATA_PATH_HOST/percona is exists and you do not want to delete it, you can run by manual execution:
###
### docker-compose exec percona bash
### mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql