diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 35320840..74209cc5 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -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/
-#### 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 -``` \ No newline at end of file +``` diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index 095b9ae9..2e7ea123 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -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). diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index d14094d1..dca9b32c 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -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: diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml deleted file mode 100644 index 45567e16..00000000 --- a/docker-compose.dev.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: "2" - -services: - -### Applications Code Container ############################# - - applications: - volumes: - - ${APPLICATION}:/var/www:cached diff --git a/docker-compose.sync.yml b/docker-compose.sync.yml index 20bb016a..57d7e92b 100644 --- a/docker-compose.sync.yml +++ b/docker-compose.sync.yml @@ -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 ############################################# diff --git a/docker-compose.yml b/docker-compose.yml index fcfd55ae..ffd57b14 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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" diff --git a/env-example b/env-example index 12ed88aa..da9d5ce5 100644 --- a/env-example +++ b/env-example @@ -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= BLACKFIRE_CLIENT_TOKEN= BLACKFIRE_SERVER_ID= BLACKFIRE_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 - -######################################################################################################################## diff --git a/mariadb/docker-entrypoint-initdb.d/createdb.sql.example b/mariadb/docker-entrypoint-initdb.d/createdb.sql.example index 243041cf..9763cc0b 100644 --- a/mariadb/docker-entrypoint-initdb.d/createdb.sql.example +++ b/mariadb/docker-entrypoint-initdb.d/createdb.sql.example @@ -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 diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example index 55679859..6420afb8 100644 --- a/mysql/docker-entrypoint-initdb.d/createdb.sql.example +++ b/mysql/docker-entrypoint-initdb.d/createdb.sql.example @@ -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 diff --git a/percona/docker-entrypoint-initdb.d/createdb.sql.example b/percona/docker-entrypoint-initdb.d/createdb.sql.example index 10b579cb..82d4f4cf 100644 --- a/percona/docker-entrypoint-initdb.d/createdb.sql.example +++ b/percona/docker-entrypoint-initdb.d/createdb.sql.example @@ -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