From 4030cc2f2660b3e9e953abf75d9317aa85118189 Mon Sep 17 00:00:00 2001 From: philtrep Date: Sun, 9 Oct 2016 21:01:49 -0400 Subject: [PATCH 001/292] Added certbot container --- certbot/Dockerfile | 8 ++++++++ certbot/letsencrypt/.gitkeep | 0 certbot/letsencrypt/.well-known/.gitkeep | 0 certbot/run-certbot.sh | 6 ++++++ docker-compose.yml | 13 +++++++++++++ nginx/nginx.conf | 4 ++++ 6 files changed, 31 insertions(+) create mode 100644 certbot/Dockerfile create mode 100644 certbot/letsencrypt/.gitkeep create mode 100644 certbot/letsencrypt/.well-known/.gitkeep create mode 100644 certbot/run-certbot.sh diff --git a/certbot/Dockerfile b/certbot/Dockerfile new file mode 100644 index 00000000..c62405e9 --- /dev/null +++ b/certbot/Dockerfile @@ -0,0 +1,8 @@ +FROM phusion/baseimage:latest + +COPY run-certbot.sh /root/certbot/run-certbot.sh + +RUN apt-get update +RUN apt-get install -y letsencrypt + +ENTRYPOINT bash -c "bash /root/certbot/run-certbot.sh && sleep infinity" diff --git a/certbot/letsencrypt/.gitkeep b/certbot/letsencrypt/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/certbot/letsencrypt/.well-known/.gitkeep b/certbot/letsencrypt/.well-known/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/certbot/run-certbot.sh b/certbot/run-certbot.sh new file mode 100644 index 00000000..26be75c7 --- /dev/null +++ b/certbot/run-certbot.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +letsencrypt certonly --webroot -w /var/www/letsencrypt -d "$CN" --agree-tos --email "$EMAIL" --non-interactive --text + +cp /etc/letsencrypt/archive/"$CN"/cert1.pem /var/certs/cert1.pem +cp /etc/letsencrypt/archive/"$CN"/privkey1.pem /var/certs/privkey1.pem diff --git a/docker-compose.yml b/docker-compose.yml index b7eed65b..223d449d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -311,9 +311,22 @@ services: - "9300:9300" links: - 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" ### Volumes Setup ########################################### + volumes: mysql: driver: "local" diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 97e5a0ed..40cb9d7c 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -23,6 +23,10 @@ http { error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; + include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-available/*; open_file_cache max=100; From 48f8f3c02da989fd1f13f6f39a2c21a5776faaed Mon Sep 17 00:00:00 2001 From: philtrep Date: Sat, 15 Oct 2016 10:40:22 -0400 Subject: [PATCH 002/292] Added certbot serving in laravel conf --- nginx/sites/default.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nginx/sites/default.conf b/nginx/sites/default.conf index d5058bd5..78f85cb2 100644 --- a/nginx/sites/default.conf +++ b/nginx/sites/default.conf @@ -22,6 +22,11 @@ server { location ~ /\.ht { deny all; } + + location /.well-known/acme-challenge/ { + root /var/www/letsencrypt/; + log_not_found off; + } } From d89a944e224c4246c6ee7da86e90464e7c158ddd Mon Sep 17 00:00:00 2001 From: philtrep Date: Sat, 15 Oct 2016 10:47:00 -0400 Subject: [PATCH 003/292] Added nginx config for certbot --- docker-compose.yml | 1 - nginx/sites/laravel-https.conf | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 nginx/sites/laravel-https.conf diff --git a/docker-compose.yml b/docker-compose.yml index 223d449d..54a3f135 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -326,7 +326,6 @@ services: ### Volumes Setup ########################################### - volumes: mysql: driver: "local" diff --git a/nginx/sites/laravel-https.conf b/nginx/sites/laravel-https.conf new file mode 100644 index 00000000..0704dbf8 --- /dev/null +++ b/nginx/sites/laravel-https.conf @@ -0,0 +1,30 @@ +server { + + listen 443 default_server; + listen [::]:443 default_server ipv6only=on; + + ssl on; + ssl_certificate /var/certs/cert1.pem; + ssl_certificate_key /var/certs/privkey1.pem; + + server_name laravel; + root /var/www/laravel/public; + index index.php index.html index.htm; + + location / { + try_files $uri $uri/ /index.php$is_args$args; + } + + location ~ \.php$ { + try_files $uri /index.php =404; + fastcgi_pass php-upstream; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include fastcgi_params; + } + + location ~ /\.ht { + deny all; + } + +} From b401c517b2fcd1724069ed125ac147d1693acc64 Mon Sep 17 00:00:00 2001 From: Vladimir Kireyko Date: Thu, 15 Dec 2016 15:05:48 +0200 Subject: [PATCH 004/292] Add dockerfile with php-fpm 7.1 --- php-fpm/Dockerfile-71 | 160 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 php-fpm/Dockerfile-71 diff --git a/php-fpm/Dockerfile-71 b/php-fpm/Dockerfile-71 new file mode 100644 index 00000000..065a32fb --- /dev/null +++ b/php-fpm/Dockerfile-71 @@ -0,0 +1,160 @@ +# +#-------------------------------------------------------------------------- +# Image Setup +#-------------------------------------------------------------------------- +# +# To edit the 'php-fpm' base Image, visit its repository on Github +# https://github.com/LaraDock/php-fpm +# +# To change its version, see the available Tags on the Docker Hub: +# https://hub.docker.com/r/laradock/php-fpm/tags/ +# + +FROM laradock/php-fpm:7.1--0.0 # placeholder. Need change after new image would be built. + +MAINTAINER Mahmoud Zalt + +# +#-------------------------------------------------------------------------- +# Mandatory Software's Installation +#-------------------------------------------------------------------------- +# +# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....) +# are installed on the base image 'laradock/php-fpm' image. If you want +# to add more Software's or remove existing one, you need to edit the +# base image (https://github.com/LaraDock/php-fpm). +# + +# +#-------------------------------------------------------------------------- +# Optional Software's Installation +#-------------------------------------------------------------------------- +# +# Optional Software's will only be installed if you set them to `true` +# in the `docker-compose.yml` before the build. +# Example: +# - INSTALL_ZIP_ARCHIVE=true +# - ... +# + +##################################### +# xDebug: +##################################### + +ARG INSTALL_XDEBUG=false +RUN if [ ${INSTALL_XDEBUG} = true ]; then \ + # Install the xdebug extension + pecl install xdebug && \ + docker-php-ext-enable xdebug \ +;fi + +# Copy xdebug configration for remote debugging +COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini + +##################################### +# MongoDB: +##################################### + +ARG INSTALL_MONGO=false +RUN if [ ${INSTALL_MONGO} = true ]; then \ + # Install the mongodb extension + pecl install mongodb && \ + docker-php-ext-enable mongodb \ +;fi + +##################################### +# ZipArchive: +##################################### + +ARG INSTALL_ZIP_ARCHIVE=false +RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ + # Install the zip extension + pecl install zip && \ + docker-php-ext-enable zip \ +;fi + +##################################### +# PHP Memcached: +##################################### + +ARG INSTALL_MEMCACHED=false +RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ + # Install the php memcached extension + curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \ + && mkdir -p memcached \ + && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ + && ( \ + cd memcached \ + && phpize \ + && ./configure \ + && make -j$(nproc) \ + && make install \ + ) \ + && rm -r memcached \ + && rm /tmp/memcached.tar.gz \ + && docker-php-ext-enable memcached \ +;fi + +##################################### +# PHP Aerospike: +##################################### + +ARG INSTALL_AEROSPIKE_EXTENSION=false +ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION} +# Copy aerospike configration for remote debugging +COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini +RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ + # Install the php aerospike extension + curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \ + && mkdir -p aerospike-client-php \ + && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \ + && ( \ + cd aerospike-client-php/src/aerospike \ + && phpize \ + && ./build.sh \ + && make install \ + ) \ + && rm /tmp/aerospike-client-php.tar.gz \ +;fi + +##################################### +# Opcache: +##################################### +ARG INSTALL_OPCACHE=false +RUN if [ ${INSTALL_OPCACHE} = true ]; then \ + docker-php-ext-install opcache && \ + docker-php-ext-enable opcache \ +;fi + +# Copy opcache configration +COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini + +##################################### +# Codeigniter Modifications: +##################################### + +ARG CODEIGNITER=false +RUN if [ ${CODEIGNITER} = true ]; then \ + # Install Codeigniter PHP extentions requirements + docker-php-ext-install mysqli && \ + docker-php-ext-install tokenizer \ +;fi + +# +#-------------------------------------------------------------------------- +# Final Touch +#-------------------------------------------------------------------------- +# + +ADD ./laravel.ini /usr/local/etc/php/conf.d +ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/ + +RUN rm -r /var/lib/apt/lists/* + +RUN usermod -u 1000 www-data + +WORKDIR /var/www + +CMD ["php-fpm"] + +EXPOSE 9000 From aabe504c24c5913896bd8f1930402003ca9f3383 Mon Sep 17 00:00:00 2001 From: Vladimir Kireyko Date: Thu, 15 Dec 2016 15:13:00 +0200 Subject: [PATCH 005/292] Add dokerfile with php 7.1 --- docker-compose.yml | 1 + workspace/Dockerfile-71 | 260 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 261 insertions(+) create mode 100644 workspace/Dockerfile-71 diff --git a/docker-compose.yml b/docker-compose.yml index 2c4a6334..69352bd5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,6 +29,7 @@ services: - PGID=1000 - NODE_VERSION=stable - TZ=UTC + # dockerfile: Dockerfile-71 volumes_from: - applications extra_hosts: diff --git a/workspace/Dockerfile-71 b/workspace/Dockerfile-71 new file mode 100644 index 00000000..1f9fb855 --- /dev/null +++ b/workspace/Dockerfile-71 @@ -0,0 +1,260 @@ +# +#-------------------------------------------------------------------------- +# Image Setup +#-------------------------------------------------------------------------- +# +# To edit the 'workspace' base Image, visit its repository on Github +# https://github.com/LaraDock/workspace +# +# To change its version, see the available Tags on the Docker Hub: +# https://hub.docker.com/r/laradock/workspace/tags/ +# + +FROM laradock/workspace:1.3 # placeholder. Need change after new image would be built. + +MAINTAINER MAINTAINER Mahmoud Zalt + +# +#-------------------------------------------------------------------------- +# Mandatory Software's Installation +#-------------------------------------------------------------------------- +# +# Mandatory Software's such as ("php7.1-cli", "git", "vim", ....) are +# installed on the base image 'laradock/workspace' image. If you want +# to add more Software's or remove existing one, you need to edit the +# base image (https://github.com/LaraDock/workspace). +# + +# +#-------------------------------------------------------------------------- +# Optional Software's Installation +#-------------------------------------------------------------------------- +# +# Optional Software's will only be installed if you set them to `true` +# in the `docker-compose.yml` before the build. +# Example: +# - INSTALL_NODE=false +# - ... +# + +##################################### +# Non-Root User: +##################################### + +# Add a non-root user to prevent files being created with root permissions on host machine. +ARG PUID=1000 +ARG PGID=1000 +RUN groupadd -g $PGID laradock && \ + useradd -u $PUID -g laradock -m laradock + +##################################### +# Set Timezone +##################################### + +ARG TZ=UTC +ENV TZ ${TZ} +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +##################################### +# Composer: +##################################### + +# Add the composer.json +COPY ./composer.json /home/laradock/.composer/composer.json + +# Make sure that ~/.composer belongs to laradock +RUN chown -R laradock:laradock /home/laradock/.composer +USER laradock + +# Check if global install need to be ran +ARG COMPOSER_GLOBAL_INSTALL=false +ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL} +RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \ + # run the install + composer global install \ +;fi + +##################################### +# Crontab +##################################### +USER root + +COPY ./crontab /var/spool/cron/crontabs + +##################################### +# xDebug: +##################################### + +ARG INSTALL_XDEBUG=false +RUN if [ ${INSTALL_XDEBUG} = true ]; then \ + # Load the xdebug extension only with phpunit commands + apt-get update && \ + apt-get install -y --force-yes php-xdebug && \ + sed -i 's/^/;/g' /etc/php/7.1/cli/conf.d/20-xdebug.ini && \ + echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \ +;fi +# ADD for REMOTE debugging +COPY ./xdebug.ini /etc/php/7.1/cli/conf.d/xdebug.ini + +##################################### +# ssh: +##################################### +ARG INSTALL_WORKSPACE_SSH=false +ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH} + +ADD insecure_id_rsa /tmp/id_rsa +ADD insecure_id_rsa.pub /tmp/id_rsa.pub + +RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \ + rm -f /etc/service/sshd/down && \ + cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys \ + && cat /tmp/id_rsa.pub >> /root/.ssh/id_rsa.pub \ + && cat /tmp/id_rsa >> /root/.ssh/id_rsa \ + && rm -f /tmp/id_rsa* \ + && chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \ + && chmod 400 /root/.ssh/id_rsa \ +;fi + +##################################### +# MongoDB: +##################################### + +# Check if Mongo needs to be installed +ARG INSTALL_MONGO=false +ENV INSTALL_MONGO ${INSTALL_MONGO} +RUN if [ ${INSTALL_MONGO} = true ]; then \ + # Install the mongodb extension + pecl install mongodb && \ + echo "extension=mongodb.so" >> /etc/php/7.1/cli/conf.d/30-mongodb.ini \ +;fi + +##################################### +# Drush: +##################################### +USER root +ENV DRUSH_VERSION 8.1.2 +ARG INSTALL_DRUSH=false +ENV INSTALL_DRUSH ${INSTALL_DRUSH} +RUN if [ ${INSTALL_DRUSH} = true ]; then \ + # Install Drush 8 with the phar file. + curl -fsSL -o /usr/local/bin/drush https://github.com/drush-ops/drush/releases/download/$DRUSH_VERSION/drush.phar | bash && \ + chmod +x /usr/local/bin/drush && \ + drush core-status \ +;fi + +USER laradock + +##################################### +# Node / NVM: +##################################### + +# Check if NVM needs to be installed +ARG NODE_VERSION=stable +ENV NODE_VERSION ${NODE_VERSION} +ARG INSTALL_NODE=false +ENV INSTALL_NODE ${INSTALL_NODE} +ENV NVM_DIR /home/laradock/.nvm +RUN if [ ${INSTALL_NODE} = true ]; then \ + # Install nvm (A Node Version Manager) + curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash && \ + . $NVM_DIR/nvm.sh && \ + nvm install ${NODE_VERSION} && \ + nvm use ${NODE_VERSION} && \ + nvm alias ${NODE_VERSION} && \ + npm install -g gulp bower vue-cli \ +;fi + +# Wouldn't execute when added to the RUN statement in the above block +# Source NVM when loading bash since ~/.profile isn't loaded on non-login shell +RUN if [ ${INSTALL_NODE} = true ]; then \ + echo "" >> ~/.bashrc && \ + echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc && \ + echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \ +;fi + +# Add NVM binaries to root's .bashrc +USER root + +RUN if [ ${INSTALL_NODE} = true ]; then \ + echo "" >> ~/.bashrc && \ + echo 'export NVM_DIR="/home/laradock/.nvm"' >> ~/.bashrc && \ + echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \ +;fi + +##################################### +# YARN: +##################################### + +USER laradock + +ARG INSTALL_YARN=false +ENV INSTALL_YARN ${INSTALL_YARN} + +RUN if [ ${INSTALL_YARN} = true ]; then \ + [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && \ + curl -o- -L https://yarnpkg.com/install.sh | bash && \ + echo "" >> ~/.bashrc && \ + echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc \ +;fi + +# Add YARN binaries to root's .bashrc +USER root + +RUN if [ ${INSTALL_YARN} = true ]; then \ + echo "" >> ~/.bashrc && \ + echo 'export YARN_DIR="/home/laradock/.yarn"' >> ~/.bashrc && \ + echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \ +;fi + +##################################### +# PHP Aerospike: +##################################### +USER root + +ARG INSTALL_AEROSPIKE_EXTENSION=true +ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION} + +# Copy aerospike configration for remote debugging +COPY ./aerospike.ini /etc/php/7.1/cli/conf.d/aerospike.ini + +RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ + # Install the php aerospike extension + curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \ + && mkdir -p aerospike-client-php \ + && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \ + && ( \ + cd aerospike-client-php/src/aerospike \ + && phpize \ + && ./build.sh \ + && make install \ + ) \ + && rm /tmp/aerospike-client-php.tar.gz \ +;fi + +RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \ + rm /etc/php/7.1/cli/conf.d/aerospike.ini \ +;fi + +##################################### +# Non-root user : PHPUnit path +##################################### + +# add ./vendor/bin to non-root user's bashrc (needed for phpunit) +USER laradock + +RUN echo "" >> ~/.bashrc && \ + echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc + +# +#-------------------------------------------------------------------------- +# Final Touch +#-------------------------------------------------------------------------- +# + +# Clean up +USER root +RUN apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# Set default work directory +WORKDIR /var/www From 7b542618f0e27f5ec5892b91df01faf46be951df Mon Sep 17 00:00:00 2001 From: alchimik Date: Sun, 19 Feb 2017 13:26:18 +0800 Subject: [PATCH 006/292] Update opcache.ini --- php-fpm/opcache.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/php-fpm/opcache.ini b/php-fpm/opcache.ini index 59683ba8..9a3f646b 100644 --- a/php-fpm/opcache.ini +++ b/php-fpm/opcache.ini @@ -1,4 +1,5 @@ -extension=opcache.so +; NOTE: The actual opcache.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini) + opcache.enable="1" opcache.memory_consumption="256" opcache.use_cwd="0" From 4947dfaad1b158529396926e1ae6a606116596c4 Mon Sep 17 00:00:00 2001 From: Riccardo Tribbia Date: Sat, 25 Feb 2017 21:25:33 +0100 Subject: [PATCH 007/292] - Add apache conf file for specific virtualhost ServerName --- apache2/Dockerfile | 3 +++ apache2/apache-config.conf | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 apache2/apache-config.conf diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 569ba9f3..21373f5c 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -15,3 +15,6 @@ WORKDIR /var/www/public ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] CMD ["supervisord"] + +# Update the default apache site with the config we created. +ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf \ No newline at end of file diff --git a/apache2/apache-config.conf b/apache2/apache-config.conf new file mode 100644 index 00000000..801be4ed --- /dev/null +++ b/apache2/apache-config.conf @@ -0,0 +1,16 @@ + + ServerAdmin me@mydomain.com + DocumentRoot /var/www/site + ServerName local.mydomain.com + + + Options Indexes FollowSymLinks MultiViews + AllowOverride All + Order deny,allow + Allow from all + + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + \ No newline at end of file From ca45806aaa9b394f62629aaa4b05f167b584c91b Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 12:34:20 +0100 Subject: [PATCH 008/292] Updated gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7c6f11b7..b3403af6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea /logs /data +.env \ No newline at end of file From 474504f1d308250e8d2a5bba4e3a92eb50601d5a Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 12:35:28 +0100 Subject: [PATCH 009/292] Added env-example and adjusted docker-compose yml to support new env file --- .env | 5 ++ docker-compose.yml | 3 +- env-example | 164 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 env-example diff --git a/.env b/.env index accd09a0..7eac1a8b 100644 --- a/.env +++ b/.env @@ -1 +1,6 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1 + +# APPLICATIONS +APPLICATIONS_HOST_DIR=../ +APPLICATIONS_IMAGE_NAME=tianon/true +APPLICATIONS_CONTAINER_NAME=applications \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 67af2244..094ed9ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,8 +7,7 @@ services: applications: image: tianon/true volumes: - - ../:/var/www -# - ../sample/:/var/www/sample + - ${APPLICATIONS_HOST_DIR}:/var/www ### Workspace Utilities Container ########################### diff --git a/env-example b/env-example new file mode 100644 index 00000000..5fa13c93 --- /dev/null +++ b/env-example @@ -0,0 +1,164 @@ +################## +# DOCKER COMPOSE # +# ################ + +DOCKER_HOST_IP=10.0.75.1 + +# Switch between PHP and HHVM interpreter +# PHP_INTERPRETER=hhvm +PHP_INTERPRETER=php-fpm + +# Switch between supported PHP versions... does not apply for HHVM. +# Please see composer.json in Laravel Framework for the minimum Php Version +#PHP_VERSION=55 +#PHP_VERSION=56 +PHP_VERSION=70 + +# APPLICATIONS +APPLICATIONS_HOST_DIR=../ +APPLICATIONS_IMAGE_NAME=tianon/true +APPLICATIONS_CONTAINER_NAME=applications + +# WORKSPACE +WORKSPACE_BUILD_PATH=./workspace +WORKSPACE_CONTAINER_NAME=workspace +WORKSPACE_INSTALL_XDEBUG=false +WORKSPACE_INSTALL_MONGO=false +WORKSPACE_INSTALL_NODE=false +WORKSPACE_INSTALL_YARN=false +WORKSPACE_INSTALL_DRUSH=false +WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false +WORKSPACE_COMPOSER_GLOBAL_INSTALL=false +WORKSPACE_INSTALL_WORKSPACE_SSH=false +WORKSPACE_PUID=1000 +WORKSPACE_PGID=1000 +WORKSPACE_NODE_VERSION=stable +WORKSPACE_TIMEZONE=UTC +WORKSPACE_SSH_PORT=2222 + + +# PHP_FPM +PHP_FPM_BUILD_PATH=./php-fpm +PHP_FPM_CONTAINER_NAME=php-fpm +PHP_FPM_DOCKER_FILE=Dockerfile-70 +PHP_FPM_INSTALL_XDEBUG=false +PHP_FPM_INSTALL_MONGO=false +PHP_FPM_INSTALL_ZIP_ARCHIVE=false +PHP_FPM_INSTALL_MEMCACHED=false +PHP_FPM_INSTALL_OPCACHE=false +PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false +PHP_FPM_CODEIGNITER=false +PHP_FPM_IDE_CONFIG=serverName=laravel + + +# NGINX +NGINX_BUILD_PATH=./nginx +NGINX_CONTAINER_NAME=nginx +NGINX_HOST_HTTP_PORT=8080 +NGINX_HOST_HTTPS_PORT=8433 +NGINX_HOST_LOG_PATH=./logs/nginx/ + + +# APACHE +APACHE2_BUILD_PATH=./apache2 +APACHE2_CONTAINER_NAME=apache2 +APACHE_HOST_HTTP_PORT=7080 +APACHE_HOST_HTTPS_PORT=7443 +APACHE2_PHP_SOCKET=php-fpm:9000 +APACHE_HOST_LOG_PATH=./logs/apache2 + +# HHVM +HHVM_BUILD_PATH=./hhvm +HHVM_CONTAINER_NAME=hhvm +HHVM_HOST_PORT=9000 + +# MYSQL +MYSQL_BUILD_PATH=./mysql +MYSQL_CONTAINER_NAME=mysql +MYSQL_HOST_PORT=3307 +MYSQL_ROOT_PASSWORD=root + +# MEMCACHED +MEMCACHED_BUILD_PATH=./memcached +MEMCACHED_CONTAINER_NAME=memcached +MEMCACHED_HOST_PORT=11211 + +# BEANSTALKD +BEANSTALKD_BUILD_PATH=./beanstalkd +BEANSTALKD_CONTAINER_NAME=beanstalkd +BEANSTALKD_HOST_PORT=11300 + +# BEANSTALKD CONSOLE +BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console +BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console +BEANSTALKD_CONSOLE_HOST_PORT=2080 + +# RABBITMQ +RABBITMQ_BUILD_PATH=./rabbitmq +RABBITMQ_CONTAINER_NAME=rabbitmq +RABBITMQ_NODE_HOST_PORT=5672 +RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 +RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 +RABBITMQ_DEFAULT_USER=guest +RABBITMQ_DEFAULT_PASS=guest + +# ELASTICSEARCH +ELASTICSEARCH_BUILD_PATH=./elasticsearch/versions/2 +ELASTICSEARCH_CONTAINER_NAME=elasticsearch +ELASTICSEARCH_HOST_HTTP_PORT=9200 +ELASTICSEARCH_HOST_TRANSPORT_PORT=9300 + +#################### +# LARAVEL SPECIFIC # +# ################## + +# APP +APP_ENV=local +APP_KEY=base64:FeZgPe6Pqm7dOCy7Sx0P/PQ9ICMuwAsHLms7DUOxCkI= +APP_DEBUG=true +APP_LOG_LEVEL=debug +APP_URL=http://localhost + +# DATABASE +DB_CONNECTION=mysql + +# Laravel Original: DB_HOST=127.0.0.1 +# must match the service name or container name. +# so if we want to use mariadb it must look like: +# DB_HOST=mariadb +DB_HOST=mysql + +# IMPORTANT: +# - ports are defined in docker-compose.yml like HOST_PORT:CONTAINER_PORT +# - DB_PORT=3306 represents the CONTAINER_PORT not the HOST_PORT +# +# This means that this should not be changed unless you have also tweaked the database image created by +# docker-compose.yml. +DB_PORT=3306 +DB_DATABASE=default +DB_USERNAME=default +DB_PASSWORD=secret + +# DRIVERS +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +# REDIS +REDIS_HOST=redis +REDIS_PASSWORD=null +REDIS_PORT=6379 + +# MAIL +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +# PUSHER +PUSHER_APP_ID= +PUSHER_KEY= +PUSHER_SECRET= From 3f13aa4f50e3346fea90cdafb9b1cdfdb6ce01de Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 12:36:44 +0100 Subject: [PATCH 010/292] Removed .env file --- .env | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index 7eac1a8b..00000000 --- a/.env +++ /dev/null @@ -1,6 +0,0 @@ -COMPOSE_CONVERT_WINDOWS_PATHS=1 - -# APPLICATIONS -APPLICATIONS_HOST_DIR=../ -APPLICATIONS_IMAGE_NAME=tianon/true -APPLICATIONS_CONTAINER_NAME=applications \ No newline at end of file From fa9ac1e471c9521c272cf43b858e2f13ab41a9eb Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 13:53:40 +0100 Subject: [PATCH 011/292] Added workspace from env file and updated env-example --- docker-compose.yml | 38 +++++++++++++++++++------------------- env-example | 7 +++++-- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 094ed9ab..08f0a95a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,25 +14,25 @@ services: workspace: build: context: ./workspace - args: - - INSTALL_XDEBUG=false - - INSTALL_SOAP=false - - INSTALL_MONGO=false - - INSTALL_NODE=false - - INSTALL_YARN=false - - INSTALL_DRUSH=false - - INSTALL_AEROSPIKE_EXTENSION=false - - INSTALL_V8JS_EXTENSION=false - - COMPOSER_GLOBAL_INSTALL=false - - INSTALL_WORKSPACE_SSH=false - - INSTALL_LARAVEL_ENVOY=false - - INSTALL_DEPLOYER=false - - INSTALL_LINUXBREW=false - - PUID=1000 - - PGID=1000 - - NODE_VERSION=stable - - YARN_VERSION=latest - - TZ=UTC + args: + - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} + - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} + - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} + - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} + - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} + - INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH} + - INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION} + - INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION} + - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} + - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} + - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - PUID=${WORKSPACE_PUID} + - PGID=${WORKSPACE_PGID} + - NODE_VERSION=${WORKSPACE_NODE_VERSION} + - YARN_VERSION=${WORKSPACE_TIMEZONE} + - TZ=${WORKSPACE_TIMEZONE=UTC} volumes_from: - applications extra_hosts: diff --git a/env-example b/env-example index 5fa13c93..84c29181 100644 --- a/env-example +++ b/env-example @@ -20,16 +20,19 @@ APPLICATIONS_IMAGE_NAME=tianon/true APPLICATIONS_CONTAINER_NAME=applications # WORKSPACE -WORKSPACE_BUILD_PATH=./workspace -WORKSPACE_CONTAINER_NAME=workspace WORKSPACE_INSTALL_XDEBUG=false +WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_NODE=false WORKSPACE_INSTALL_YARN=false WORKSPACE_INSTALL_DRUSH=false WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false +WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION=false WORKSPACE_COMPOSER_GLOBAL_INSTALL=false WORKSPACE_INSTALL_WORKSPACE_SSH=false +WORKSPACE_INSTALL_LARAVEL_ENVOY=false +WORKSPACE_INSTALL_DEPLOYER=false +WORKSPACE_INSTALL_LINUXBREW=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_NODE_VERSION=stable From c112fdffc1598194eb4dcf5283e254c10742ee40 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 14:05:47 +0100 Subject: [PATCH 012/292] Updated PHP-FPM container to accept .env variables --- docker-compose.yml | 24 ++++++++++++------------ env-example | 10 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 08f0a95a..49b0f51b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,18 +48,18 @@ services: build: context: ./php-fpm args: - - INSTALL_XDEBUG=false - - INSTALL_SOAP=false - - INSTALL_MONGO=false - - INSTALL_ZIP_ARCHIVE=false - - INSTALL_BCMATH=false - - INSTALL_PHPREDIS=false - - INSTALL_MEMCACHED=false - - INSTALL_OPCACHE=false - - INSTALL_EXIF=false - - INSTALL_AEROSPIKE_EXTENSION=false - - CODEIGNITER=false - dockerfile: Dockerfile-70 + - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} + - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} + - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} + - INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE} + - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} + - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} + - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} + - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} + - INSTALL_EXIF=${PHP_FPM_DOCKER_FILE} + - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_DOCKER_FILE} + - CODEIGNITER=${PHP_FPM_DOCKER_FILE} + dockerfile: ${PHP_FPM_DOCKER_FILE} volumes_from: - applications expose: diff --git a/env-example b/env-example index 84c29181..f9e86531 100644 --- a/env-example +++ b/env-example @@ -41,18 +41,18 @@ WORKSPACE_SSH_PORT=2222 # PHP_FPM -PHP_FPM_BUILD_PATH=./php-fpm -PHP_FPM_CONTAINER_NAME=php-fpm PHP_FPM_DOCKER_FILE=Dockerfile-70 PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_MONGO=false +PHP_FPM_INSTALL_SOAP=false PHP_FPM_INSTALL_ZIP_ARCHIVE=false +PHP_FPM_INSTALL_BCMATH=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_EXTENSION=false -PHP_FPM_CODEIGNITER=false -PHP_FPM_IDE_CONFIG=serverName=laravel - +PHP_FPM_CODEIGNITER=falses # NGINX NGINX_BUILD_PATH=./nginx From 356dc36fd57802e67b5f669b602943056ca8ca02 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 14:11:16 +0100 Subject: [PATCH 013/292] Added NGINX from env file and updated env-example --- docker-compose.yml | 6 +++--- env-example | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 49b0f51b..e3a9c966 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -82,9 +82,9 @@ services: - PHP_UPSTREAM=php-fpm volumes_from: - applications - volumes: - - ./logs/nginx/:/var/log/nginx - - ./nginx/sites/:/etc/nginx/sites-available + volumes: + - ${NGINX_HOST_LOG_PATH}:/var/log/nginx + - ${NGINX_SITES_PATH}:/etc/nginx/sites-available ports: - "80:80" - "443:443" diff --git a/env-example b/env-example index f9e86531..aa2a7310 100644 --- a/env-example +++ b/env-example @@ -39,7 +39,6 @@ WORKSPACE_NODE_VERSION=stable WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 - # PHP_FPM PHP_FPM_DOCKER_FILE=Dockerfile-70 PHP_FPM_INSTALL_XDEBUG=false @@ -55,11 +54,11 @@ PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false PHP_FPM_CODEIGNITER=falses # NGINX -NGINX_BUILD_PATH=./nginx -NGINX_CONTAINER_NAME=nginx NGINX_HOST_HTTP_PORT=8080 NGINX_HOST_HTTPS_PORT=8433 NGINX_HOST_LOG_PATH=./logs/nginx/ +NGINX_SITES_PATH=./nginx/sites/ + # APACHE From 966a84fa39dce4074c082b6be160d5f3af779b8b Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 14:49:43 +0100 Subject: [PATCH 014/292] Fixed timezone issue in docker-compose.yml --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index e3a9c966..073b0ff9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,7 +32,7 @@ services: - PGID=${WORKSPACE_PGID} - NODE_VERSION=${WORKSPACE_NODE_VERSION} - YARN_VERSION=${WORKSPACE_TIMEZONE} - - TZ=${WORKSPACE_TIMEZONE=UTC} + - TZ=${WORKSPACE_TIMEZONE} volumes_from: - applications extra_hosts: From f610aa63d16617f817c1b0015e3debb0b6426c28 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 27 Feb 2017 15:58:38 +0100 Subject: [PATCH 015/292] Removed reference to homestead --- docker-compose.yml | 4 ++-- mysql/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 073b0ff9..ba7df27f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -125,8 +125,8 @@ services: build: context: ./mysql args: - - MYSQL_DATABASE=homestead - - MYSQL_USER=homestead + - MYSQL_DATABASE=default + - MYSQL_USER=default - MYSQL_PASSWORD=secret - MYSQL_ROOT_PASSWORD=root volumes: diff --git a/mysql/Dockerfile b/mysql/Dockerfile index 420ddfaa..b483cc24 100644 --- a/mysql/Dockerfile +++ b/mysql/Dockerfile @@ -6,8 +6,8 @@ ADD startup /etc/mysql/startup RUN chown -R mysql:root /var/lib/mysql/ -ARG MYSQL_DATABASE=homestead -ARG MYSQL_USER=homestead +ARG MYSQL_DATABASE=default +ARG MYSQL_USER=default ARG MYSQL_PASSWORD=secret ARG MYSQL_ROOT_PASSWORD=root From a6e0338245b6a4b69eda9c00d49268f3f59f7ff8 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Wed, 1 Mar 2017 08:08:20 +0100 Subject: [PATCH 016/292] Removed Homestead reference in all DB containers --- docker-compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ba7df27f..48bb0e22 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -143,8 +143,8 @@ services: ports: - "3306:3306" environment: - MYSQL_DATABASE: homestead - MYSQL_USER: homestead + MYSQL_DATABASE: default + MYSQL_USER: default MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root @@ -157,8 +157,8 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead + POSTGRES_DB: default + POSTGRES_USER: default POSTGRES_PASSWORD: secret ### PostgreSQL PostGis Container ############################ @@ -170,8 +170,8 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead + POSTGRES_DB: default + POSTGRES_USER: default POSTGRES_PASSWORD: secret ### Neo4j Container ######################################### From 59dfacee13072c22a121bea4593b991d0c9d8c3c Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Wed, 1 Mar 2017 08:17:34 +0100 Subject: [PATCH 017/292] Removed homestead entirely this time --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 48bb0e22..8111bc56 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -296,7 +296,7 @@ services: build: ./phpmyadmin environment: PMA_ARBITRARY: 1 - MYSQL_USER: homestead + MYSQL_USER: default MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ports: From b45f39599643002305584beaa400d3cf649872e5 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Wed, 1 Mar 2017 08:29:17 +0100 Subject: [PATCH 018/292] Removed homestead entirely this time --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8111bc56..49f598f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -182,7 +182,7 @@ services: - "7474:7474" - "1337:1337" environment: - - NEO4J_AUTH=homestead:secret + - NEO4J_AUTH=default:secret volumes: - neo4j:/var/lib/neo4j/data From 8317fbde5ce16544a5686f26f19f1005867c77ae Mon Sep 17 00:00:00 2001 From: Riccardo Tribbia Date: Wed, 1 Mar 2017 15:55:33 +0100 Subject: [PATCH 019/292] - Eliminato .env dal repo git per poterlo linkare nel progetto locale - Impostata configurazione dinamica porte per apache --- .env | 1 - .gitignore | 1 + apache2/apache-config.conf | 8 ++++---- docker-compose.yml | 34 +++++++++++++++++----------------- 4 files changed, 22 insertions(+), 22 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index accd09a0..00000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -COMPOSE_CONVERT_WINDOWS_PATHS=1 diff --git a/.gitignore b/.gitignore index 7c6f11b7..00571d72 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea /logs /data +.env diff --git a/apache2/apache-config.conf b/apache2/apache-config.conf index 801be4ed..aede94e4 100644 --- a/apache2/apache-config.conf +++ b/apache2/apache-config.conf @@ -1,9 +1,9 @@ - + ServerAdmin me@mydomain.com - DocumentRoot /var/www/site - ServerName local.mydomain.com + DocumentRoot ${WEB_DOCUMENT_ROOT} + ServerName ${SERVER_ALIAS} - + Options Indexes FollowSymLinks MultiViews AllowOverride All Order deny,allow diff --git a/docker-compose.yml b/docker-compose.yml index 67af2244..53dd7178 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -104,8 +104,8 @@ services: volumes: - ./logs/apache2:/var/log/apache2 ports: - - "80:80" - - "443:443" + - "$SERVER_PORT:80" + - "$SERVER_SSL_PORT:443" links: - php-fpm @@ -126,14 +126,14 @@ services: build: context: ./mysql args: - - MYSQL_DATABASE=homestead - - MYSQL_USER=homestead - - MYSQL_PASSWORD=secret + - MYSQL_DATABASE=$DB_DATABASE + - MYSQL_USER=$DB_USERNAME + - MYSQL_PASSWORD=$DB_PASSWORD - MYSQL_ROOT_PASSWORD=root volumes: - mysql:/var/lib/mysql ports: - - "3306:3306" + - "$DB_PORT:3306" ### MariaDB Container ####################################### @@ -144,9 +144,9 @@ services: ports: - "3306:3306" environment: - MYSQL_DATABASE: homestead - MYSQL_USER: homestead - MYSQL_PASSWORD: secret + MYSQL_DATABASE: $DB_DATABASE + MYSQL_USER: $DB_USERNAME + MYSQL_PASSWORD: $DB_PASSWORD MYSQL_ROOT_PASSWORD: root ### PostgreSQL Container #################################### @@ -158,9 +158,9 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead - POSTGRES_PASSWORD: secret + POSTGRES_DB: $DB_DATABASE + POSTGRES_USER: $DB_USERNAME + POSTGRES_PASSWORD: $DB_PASSWORD ### PostgreSQL PostGis Container ############################ @@ -171,9 +171,9 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead - POSTGRES_PASSWORD: secret + POSTGRES_DB: $DB_DATABASE + POSTGRES_USER: $DB_USERNAME + POSTGRES_PASSWORD: $DB_PASSWORD ### Neo4j Container ######################################### @@ -297,8 +297,8 @@ services: build: ./phpmyadmin environment: PMA_ARBITRARY: 1 - MYSQL_USER: homestead - MYSQL_PASSWORD: secret + MYSQL_USER: $DB_USERNAME + MYSQL_PASSWORD: $DB_PASSWORD MYSQL_ROOT_PASSWORD: root ports: - "8080:80" From 6be81f05c2a781faec04554402a58fd94759ae98 Mon Sep 17 00:00:00 2001 From: Riccardo Tribbia Date: Thu, 2 Mar 2017 12:14:38 +0100 Subject: [PATCH 020/292] - Aggiunto servizio php-worker per avviamento queue --- docker-compose.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 53dd7178..a74b57cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -74,6 +74,16 @@ services: # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - PHP_IDE_CONFIG=serverName=laravel +### PHP-WORKER Container ####################################### + + php-worker: + build: + context: ./php-fpm + dockerfile: Dockerfile-70 # or Dockerfile-56, choose your PHP-FPM container setting + volumes_from: + - applications + command: php artisan queue:work + ### Nginx Server Container ################################## nginx: From 0983cc98fee38947baa94f84deaf19f02a45f24e Mon Sep 17 00:00:00 2001 From: Wayan Jimmy Date: Sat, 4 Mar 2017 02:07:29 +0800 Subject: [PATCH 021/292] Setup mailhog --- docker-compose.yml | 6 ++++++ mailhog/Dockerfile | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 mailhog/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index 38409666..dd731457 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -299,6 +299,12 @@ services: links: - php-fpm + mailhog: + build: ./mailhog + ports: + - "1025:1025" + - "8025:8025" + ### Volumes Setup ########################################### volumes: diff --git a/mailhog/Dockerfile b/mailhog/Dockerfile new file mode 100644 index 00000000..9fd31e4e --- /dev/null +++ b/mailhog/Dockerfile @@ -0,0 +1,7 @@ +FROM mailhog/mailhog + +Maintainer Mahmoud Zalt + +CMD ["Mailhog"] + +EXPOSE 1025 8025 From 603010cbd50853826fda09639e4ccbf491111eac Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 6 Mar 2017 09:03:12 +0100 Subject: [PATCH 022/292] Split up mysqli and tokenizer --- docker-compose.yml | 7 ++++--- env-example | 3 ++- php-fpm/Dockerfile-56 | 19 ++++++++++++++----- php-fpm/Dockerfile-70 | 19 ++++++++++++++----- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 49f598f8..f9d07779 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,9 +56,10 @@ services: - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - - INSTALL_EXIF=${PHP_FPM_DOCKER_FILE} - - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_DOCKER_FILE} - - CODEIGNITER=${PHP_FPM_DOCKER_FILE} + - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} + - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION} + - INSTALL_MYSQLI=${PHP_FPM_MYSQLI} + - INSTALL_TOKENIZER=${PHP_FPM_TOKENIZER} dockerfile: ${PHP_FPM_DOCKER_FILE} volumes_from: - applications diff --git a/env-example b/env-example index aa2a7310..d95f208f 100644 --- a/env-example +++ b/env-example @@ -51,7 +51,8 @@ PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_OPCACHE=false PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false -PHP_FPM_CODEIGNITER=falses +PHP_FPM_MYSQLI=false +PHP_FPM_TOKENIZER=false # NGINX NGINX_HOST_HTTP_PORT=8080 diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index acd02b80..bb80842e 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -142,13 +142,22 @@ RUN if [ ${INSTALL_OPCACHE} = true ]; then \ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### -# Codeigniter Modifications: +# Mysqli Modifications: ##################################### -ARG CODEIGNITER=false -RUN if [ ${CODEIGNITER} = true ]; then \ - # Install Codeigniter PHP extentions requirements - docker-php-ext-install mysqli && \ +ARG INSTALL_MYSQLI=false +RUN if [ ${INSTALL_MYSQLI} = true ]; then \ + # Install mysqli PHP extentions requirements + docker-php-ext-install mysqli && \ +;fi + +##################################### +# Tokenizer Modifications: +##################################### + +ARG INSTALL_TOKENIZER=false +RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ + # Install tokenizer PHP extentions requirements docker-php-ext-install tokenizer \ ;fi diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 20aaf5a9..c529fbb2 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -176,13 +176,22 @@ RUN if [ ${INSTALL_OPCACHE} = true ]; then \ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### -# Codeigniter Modifications: +# Mysqli Modifications: ##################################### -ARG CODEIGNITER=false -RUN if [ ${CODEIGNITER} = true ]; then \ - # Install Codeigniter PHP extentions requirements - docker-php-ext-install mysqli && \ +ARG INSTALL_MYSQLI=false +RUN if [ ${INSTALL_MYSQLI} = true ]; then \ + # Install mysqli PHP extentions requirements + docker-php-ext-install mysqli && \ +;fi + +##################################### +# Tokenizer Modifications: +##################################### + +ARG INSTALL_TOKENIZER=false +RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ + # Install tokenizer PHP extentions requirements docker-php-ext-install tokenizer \ ;fi From 46fcb9e09c22592f8dcbc449de063dad829a6a0d Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 6 Mar 2017 09:31:11 +0100 Subject: [PATCH 023/292] Fixed php-fpm variables and example --- docker-compose.yml | 6 +++--- env-example | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 49f598f8..e5fa0439 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,9 +56,9 @@ services: - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - - INSTALL_EXIF=${PHP_FPM_DOCKER_FILE} - - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_DOCKER_FILE} - - CODEIGNITER=${PHP_FPM_DOCKER_FILE} + - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} + - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION} + - CODEIGNITER=${PHP_FPM_CODEIGNITER} dockerfile: ${PHP_FPM_DOCKER_FILE} volumes_from: - applications diff --git a/env-example b/env-example index aa2a7310..6c608125 100644 --- a/env-example +++ b/env-example @@ -51,7 +51,7 @@ PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_OPCACHE=false PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false -PHP_FPM_CODEIGNITER=falses +PHP_FPM_CODEIGNITER=false # NGINX NGINX_HOST_HTTP_PORT=8080 From 1d918a71d8e5765bfe7a127d3e59d8e99af75209 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 6 Mar 2017 22:20:31 +0100 Subject: [PATCH 024/292] fixed example and docker-compose.yml --- docker-compose.yml | 4 ++-- env-example | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f9d07779..51101e84 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -58,8 +58,8 @@ services: - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION} - - INSTALL_MYSQLI=${PHP_FPM_MYSQLI} - - INSTALL_TOKENIZER=${PHP_FPM_TOKENIZER} + - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} + - INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER} dockerfile: ${PHP_FPM_DOCKER_FILE} volumes_from: - applications diff --git a/env-example b/env-example index d95f208f..3ecca97a 100644 --- a/env-example +++ b/env-example @@ -51,8 +51,8 @@ PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_OPCACHE=false PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false -PHP_FPM_MYSQLI=false -PHP_FPM_TOKENIZER=false +PHP_FPM_INSTALL_MYSQLI=false +PHP_FPM_INSTALL_TOKENIZER=false # NGINX NGINX_HOST_HTTP_PORT=8080 From 25c27685577388885fa1f50faad311d3c828dcf3 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Mon, 6 Mar 2017 22:26:17 +0100 Subject: [PATCH 025/292] Apache should just go to /var/www not /var/www/public when supporting multiple projects --- apache2/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 569ba9f3..97636ed9 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -6,11 +6,11 @@ ARG PHP_SOCKET=php-fpm:9000 ENV WEB_PHP_SOCKET=$PHP_SOCKET -ENV WEB_DOCUMENT_ROOT=/var/www/public +ENV WEB_DOCUMENT_ROOT=/var/www/ EXPOSE 80 443 -WORKDIR /var/www/public +WORKDIR /var/www/ ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] From 048b55186e0a52c3aeabcf301bdb0d6fdbb4e068 Mon Sep 17 00:00:00 2001 From: Thor Erik Lie Date: Wed, 8 Mar 2017 09:26:08 +0100 Subject: [PATCH 026/292] Fix issue 619 --- nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 97e5a0ed..88bc7609 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -25,6 +25,6 @@ http { gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-available/*; - open_file_cache max=100; + open_file_cache off; # Disabled for issue 619 charset UTF-8; } From 37ed904f1a588de09993d76ddeee8447bcc9a767 Mon Sep 17 00:00:00 2001 From: hchs Date: Thu, 9 Mar 2017 10:26:47 +0800 Subject: [PATCH 027/292] add vhost example --- apache2/Dockerfile | 2 ++ apache2/sites/.gitignore | 3 +++ apache2/sites/default.apache.conf | 16 ++++++++++++++++ apache2/sites/sample.conf.example | 16 ++++++++++++++++ apache2/vhost.conf | 1 + docker-compose.yml | 1 + 6 files changed, 39 insertions(+) create mode 100644 apache2/sites/.gitignore create mode 100644 apache2/sites/default.apache.conf create mode 100644 apache2/sites/sample.conf.example create mode 100644 apache2/vhost.conf diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 569ba9f3..09cc63e2 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -12,6 +12,8 @@ EXPOSE 80 443 WORKDIR /var/www/public +ADD vhost.conf /etc/apache2/sites-enabled/vhost.conf + ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] CMD ["supervisord"] diff --git a/apache2/sites/.gitignore b/apache2/sites/.gitignore new file mode 100644 index 00000000..f1f9322e --- /dev/null +++ b/apache2/sites/.gitignore @@ -0,0 +1,3 @@ +*.conf +!default.conf +!default.apache.conf diff --git a/apache2/sites/default.apache.conf b/apache2/sites/default.apache.conf new file mode 100644 index 00000000..2d15dafc --- /dev/null +++ b/apache2/sites/default.apache.conf @@ -0,0 +1,16 @@ + + ServerName laradock.dev + DocumentRoot /var/www/html/ + Options Indexes FollowSymLinks + + + AllowOverride All + + Allow from all + + = 2.4> + Require all granted + + + + diff --git a/apache2/sites/sample.conf.example b/apache2/sites/sample.conf.example new file mode 100644 index 00000000..48a132e0 --- /dev/null +++ b/apache2/sites/sample.conf.example @@ -0,0 +1,16 @@ + + ServerName sample.dev + DocumentRoot /var/www/sample/public/ + Options Indexes FollowSymLinks + + + AllowOverride All + + Allow from all + + = 2.4> + Require all granted + + + + diff --git a/apache2/vhost.conf b/apache2/vhost.conf new file mode 100644 index 00000000..2352bf82 --- /dev/null +++ b/apache2/vhost.conf @@ -0,0 +1 @@ +Include /etc/apache2/sites-available/*.conf diff --git a/docker-compose.yml b/docker-compose.yml index 283d7770..38a5209c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -104,6 +104,7 @@ services: - applications volumes: - ./logs/apache2:/var/log/apache2 + - ./apache2/sites:/etc/apache2/sites-available ports: - "80:80" - "443:443" From 36fcc6674e88ca98ada6d0e94e1bc329e4d3bdfd Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Thu, 9 Mar 2017 09:29:07 +0100 Subject: [PATCH 028/292] Seperated mysqli and tokenizer as seperate options without putting them under code igniter --- docker-compose.yml | 2 +- php-fpm/Dockerfile-56 | 6 ++---- php-fpm/Dockerfile-70 | 7 ++----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 27ae21b2..e9254784 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: applications: image: tianon/true volumes: - - ${APPLICATIONS_HOST_DIR}:/var/www + - ${APPLICATIONS_HOST_DIR}:/var/www ### Workspace Utilities Container ########################### diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index 1775cf61..6c63d72d 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -149,9 +149,8 @@ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### ARG INSTALL_MYSQLI=false -RUN if [ ${INSTALL_MYSQLI} = true ]; then \ - # Install mysqli PHP extentions requirements - docker-php-ext-install mysqli && \ +RUN if [ ${INSTALL_MYSQLI} = true ]; then \ + docker-php-ext-install mysqli \ ;fi ##################################### @@ -160,7 +159,6 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ ARG INSTALL_TOKENIZER=false RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ - # Install tokenizer PHP extentions requirements docker-php-ext-install tokenizer \ ;fi diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index c529fbb2..d0ddaf09 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -178,11 +178,9 @@ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### # Mysqli Modifications: ##################################### - ARG INSTALL_MYSQLI=false -RUN if [ ${INSTALL_MYSQLI} = true ]; then \ - # Install mysqli PHP extentions requirements - docker-php-ext-install mysqli && \ +RUN if [ ${INSTALL_MYSQLI} = true ]; then \ + docker-php-ext-install mysqli \ ;fi ##################################### @@ -191,7 +189,6 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ ARG INSTALL_TOKENIZER=false RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ - # Install tokenizer PHP extentions requirements docker-php-ext-install tokenizer \ ;fi From 73f7c8812220dbe2e041c6cba9e659982ba50ea4 Mon Sep 17 00:00:00 2001 From: ZeroC0D3 Team Date: Thu, 9 Mar 2017 19:21:36 +0700 Subject: [PATCH 029/292] Fixing environment in docker-compose file --- docker-compose.yml | 268 ++++++++++++++++++++++----------------------- 1 file changed, 134 insertions(+), 134 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 67af2244..621a5a5e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,8 +7,8 @@ services: applications: image: tianon/true volumes: - - ../:/var/www -# - ../sample/:/var/www/sample + - ../:/var/www +# - ../sample/:/var/www/sample ### Workspace Utilities Container ########################### @@ -16,31 +16,31 @@ services: build: context: ./workspace args: - - INSTALL_XDEBUG=false - - INSTALL_SOAP=false - - INSTALL_MONGO=false - - INSTALL_NODE=false - - INSTALL_YARN=false - - INSTALL_DRUSH=false - - INSTALL_AEROSPIKE_EXTENSION=false - - INSTALL_V8JS_EXTENSION=false - - COMPOSER_GLOBAL_INSTALL=false - - INSTALL_WORKSPACE_SSH=false - - INSTALL_LARAVEL_ENVOY=false - - INSTALL_DEPLOYER=false - - INSTALL_LINUXBREW=false - - PUID=1000 - - PGID=1000 - - NODE_VERSION=stable - - YARN_VERSION=latest - - TZ=UTC + - INSTALL_XDEBUG=false + - INSTALL_SOAP=false + - INSTALL_MONGO=false + - INSTALL_NODE=false + - INSTALL_YARN=false + - INSTALL_DRUSH=false + - INSTALL_AEROSPIKE_EXTENSION=false + - INSTALL_V8JS_EXTENSION=false + - COMPOSER_GLOBAL_INSTALL=false + - INSTALL_WORKSPACE_SSH=false + - INSTALL_LARAVEL_ENVOY=false + - INSTALL_DEPLOYER=false + - INSTALL_LINUXBREW=false + - PUID=1000 + - PGID=1000 + - NODE_VERSION=stable + - YARN_VERSION=latest + - TZ=UTC volumes_from: - - applications + - applications extra_hosts: - # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - - "dockerhost:10.0.75.1" + # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) + - "dockerhost:10.0.75.1" ports: - - "2222:22" + - "2222:22" tty: true ### PHP-FPM Container ####################################### @@ -49,30 +49,30 @@ services: build: context: ./php-fpm args: - - INSTALL_XDEBUG=false - - INSTALL_SOAP=false - - INSTALL_MONGO=false - - INSTALL_ZIP_ARCHIVE=false - - INSTALL_BCMATH=false - - INSTALL_PHPREDIS=false - - INSTALL_MEMCACHED=false - - INSTALL_OPCACHE=false - - INSTALL_EXIF=false - - INSTALL_AEROSPIKE_EXTENSION=false - - CODEIGNITER=false + - INSTALL_XDEBUG=false + - INSTALL_SOAP=false + - INSTALL_MONGO=false + - INSTALL_ZIP_ARCHIVE=false + - INSTALL_BCMATH=false + - INSTALL_PHPREDIS=false + - INSTALL_MEMCACHED=false + - INSTALL_OPCACHE=false + - INSTALL_EXIF=false + - INSTALL_AEROSPIKE_EXTENSION=false + - CODEIGNITER=false dockerfile: Dockerfile-70 volumes_from: - - applications + - applications expose: - - "9000" + - "9000" links: - - workspace + - workspace extra_hosts: - # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - - "dockerhost:10.0.75.1" + # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) + - "dockerhost:10.0.75.1" environment: - # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - - PHP_IDE_CONFIG=serverName=laravel + # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` + - PHP_IDE_CONFIG=serverName=laravel ### Nginx Server Container ################################## @@ -80,17 +80,17 @@ services: build: context: ./nginx args: - - PHP_UPSTREAM=php-fpm + - PHP_UPSTREAM=php-fpm volumes_from: - - applications + - applications volumes: - - ./logs/nginx/:/var/log/nginx - - ./nginx/sites/:/etc/nginx/sites-available + - ./logs/nginx/:/var/log/nginx + - ./nginx/sites/:/etc/nginx/sites-available ports: - - "80:80" - - "443:443" + - "80:80" + - "443:443" links: - - php-fpm + - php-fpm ### Apache Server Container ################################# @@ -98,27 +98,27 @@ services: build: context: ./apache2 args: - - PHP_SOCKET=php-fpm:9000 + - PHP_SOCKET=php-fpm:9000 volumes_from: - - applications + - applications volumes: - - ./logs/apache2:/var/log/apache2 + - ./logs/apache2:/var/log/apache2 ports: - - "80:80" - - "443:443" + - "80:80" + - "443:443" links: - - php-fpm + - php-fpm ### HHVM Container ########################################## hhvm: build: ./hhvm volumes_from: - - applications + - applications expose: - - "9000" + - "9000" links: - - workspace + - workspace ### MySQL Container ######################################### @@ -126,107 +126,107 @@ services: build: context: ./mysql args: - - MYSQL_DATABASE=homestead - - MYSQL_USER=homestead - - MYSQL_PASSWORD=secret - - MYSQL_ROOT_PASSWORD=root + - MYSQL_DATABASE=homestead + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + - MYSQL_ROOT_PASSWORD=root volumes: - - mysql:/var/lib/mysql + - mysql:/var/lib/mysql ports: - - "3306:3306" + - "3306:3306" ### MariaDB Container ####################################### mariadb: build: ./mariadb volumes: - - mariadb:/var/lib/mysql + - mariadb:/var/lib/mysql ports: - - "3306:3306" + - "3306:3306" environment: - MYSQL_DATABASE: homestead - MYSQL_USER: homestead - MYSQL_PASSWORD: secret - MYSQL_ROOT_PASSWORD: root + - MYSQL_DATABASE=homestead + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + - MYSQL_ROOT_PASSWORD=root ### PostgreSQL Container #################################### postgres: build: ./postgres volumes: - - postgres:/var/lib/postgresql/data + - postgres:/var/lib/postgresql/data ports: - - "5432:5432" + - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead - POSTGRES_PASSWORD: secret + - POSTGRES_DB=homestead + - POSTGRES_USER=homestead + - POSTGRES_PASSWORD=secret ### PostgreSQL PostGis Container ############################ postgres-postgis: build: ./postgres-postgis volumes: - - postgres:/var/lib/postgresql/data + - postgres:/var/lib/postgresql/data ports: - - "5432:5432" + - "5432:5432" environment: - POSTGRES_DB: homestead - POSTGRES_USER: homestead - POSTGRES_PASSWORD: secret + - POSTGRES_DB=homestead + - POSTGRES_USER=homestead + - POSTGRES_PASSWORD=secret ### Neo4j Container ######################################### neo4j: build: ./neo4j ports: - - "7474:7474" - - "1337:1337" + - "7474:7474" + - "1337:1337" environment: - - NEO4J_AUTH=homestead:secret + - NEO4J_AUTH=homestead:secret volumes: - - neo4j:/var/lib/neo4j/data + - neo4j:/var/lib/neo4j/data ### MongoDB Container ####################################### mongo: build: ./mongo ports: - - "27017:27017" + - "27017:27017" volumes: - - mongo:/data/db + - mongo:/data/db ### RethinkDB Container ####################################### rethinkdb: build: ./rethinkdb ports: - - "8090:8080" + - "8090:8080" volumes: - - rethinkdb:/data/rethinkdb_data + - rethinkdb:/data/rethinkdb_data ### Redis Container ######################################### redis: build: ./redis volumes: - - redis:/data + - redis:/data ports: - - "6379:6379" + - "6379:6379" ### Aerospike c Container ################################### aerospike: build: ./aerospike volumes_from: - - workspace + - workspace volumes: - - aerospike:/opt/aerospike/data + - aerospike:/opt/aerospike/data ports: - - "3000:3000" - - "3001:3001" - - "3002:3002" - - "3003:3003" + - "3000:3000" + - "3001:3001" + - "3002:3002" + - "3003:3003" ### Memcached Container ##################################### @@ -234,108 +234,108 @@ services: memcached: build: ./memcached volumes: - - memcached:/var/lib/memcached + - memcached:/var/lib/memcached ports: - - "11211:11211" + - "11211:11211" links: - - php-fpm + - php-fpm ### Beanstalkd Container #################################### beanstalkd: build: ./beanstalkd ports: - - "11300:11300" + - "11300:11300" privileged: true links: - - php-fpm + - php-fpm ### RabbitMQ Container ###################################### rabbitmq: build: ./rabbitmq ports: - - "5672:5672" - - "15671:15671" - - "8080:15672" + - "5672:5672" + - "15671:15671" + - "8080:15672" privileged: true environment: - RABBITMQ_DEFAULT_USER: guest - RABBITMQ_DEFAULT_PASS: guest + - RABBITMQ_DEFAULT_USER=guest + - RABBITMQ_DEFAULT_PASS=guest links: - - php-fpm + - php-fpm ### Beanstalkd Console Container ############################ beanstalkd-console: build: ./beanstalkd-console ports: - - "2080:2080" + - "2080:2080" links: - - beanstalkd + - beanstalkd ### Caddy Server Container ################################## caddy: build: ./caddy ports: - - "80:80" - - "443:443" - - "2015:2015" + - "80:80" + - "443:443" + - "2015:2015" volumes_from: - - applications + - applications volumes: - - ./caddy/Caddyfile:/etc/Caddyfile - - ./logs/caddy:/var/log/caddy - - caddy:/root/.caddy + - ./caddy/Caddyfile:/etc/Caddyfile + - ./logs/caddy:/var/log/caddy + - caddy:/root/.caddy links: - - php-fpm + - php-fpm ### phpMyAdmin Container #################################### phpmyadmin: build: ./phpmyadmin environment: - PMA_ARBITRARY: 1 - MYSQL_USER: homestead - MYSQL_PASSWORD: secret - MYSQL_ROOT_PASSWORD: root + - PMA_ARBITRARY=1 + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + - MYSQL_ROOT_PASSWORD=root ports: - - "8080:80" + - "8080:80" links: - # for mysql container - - "mysql:db" - # for mariadb container - # - "mariadb:db" + # for mysql container + # - "mysql:db" + # for mariadb container + - "mariadb:db" ### pgAdmin Container ####################################### pgadmin: build: ./pgadmin ports: - - "5050:5050" + - "5050:5050" links: - - postgres + - postgres ### ElasticSearch Container ################################# elasticsearch: build: ./elasticsearch volumes: - - elasticsearch-data:/usr/share/elasticsearch/data - - elasticsearch-plugins:/usr/share/elasticsearch/data + - elasticsearch-data:/usr/share/elasticsearch/data + - elasticsearch-plugins:/usr/share/elasticsearch/data ports: - - "9200:9200" - - "9300:9300" + - "9200:9200" + - "9300:9300" links: - - php-fpm + - php-fpm ### Selenium Container ######################################### selenium: build: ./selenium ports: - - "4444:4444" + - "4444:4444" ### Volumes Setup ########################################### From c1de398acc91b2aeeaa1a51bc9c9b0a243c8e1a4 Mon Sep 17 00:00:00 2001 From: ZeroC0D3 Team Date: Fri, 10 Mar 2017 07:53:33 +0700 Subject: [PATCH 030/292] Change default phpmyadmin environment for mysql --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 621a5a5e..a3a3dbfa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -304,9 +304,9 @@ services: - "8080:80" links: # for mysql container - # - "mysql:db" + - "mysql:db" # for mariadb container - - "mariadb:db" + # - "mariadb:db" ### pgAdmin Container ####################################### From ab1d5bae95acdf59ed779bff37d8f7efbb7c0e99 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Mon, 13 Mar 2017 21:03:31 -0400 Subject: [PATCH 031/292] complete missings --- .env.example | 124 +++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 91 ++++++++++++++++----------------- 2 files changed, 168 insertions(+), 47 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..91762646 --- /dev/null +++ b/.env.example @@ -0,0 +1,124 @@ +### Application +# Point to your application code, wish should be available at `/var/www` +APPLICATIONS_HOST_DIR=../ + +### PHP version (Does not apply for HHVM) +# PHP_VERSION=55 +# PHP_VERSION=56 +PHP_VERSION=70 + +### PHP interpreter +# PHP_INTERPRETER=hhvm +PHP_INTERPRETER=php-fpm + +### WORKSPACE Container +WORKSPACE_INSTALL_XDEBUG=false +WORKSPACE_INSTALL_SOAP=false +WORKSPACE_INSTALL_MONGO=false +WORKSPACE_INSTALL_NODE=false +WORKSPACE_INSTALL_YARN=false +WORKSPACE_INSTALL_DRUSH=false +WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false +WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION=false +WORKSPACE_COMPOSER_GLOBAL_INSTALL=false +WORKSPACE_INSTALL_WORKSPACE_SSH=false +WORKSPACE_INSTALL_LARAVEL_ENVOY=false +WORKSPACE_INSTALL_DEPLOYER=false +WORKSPACE_INSTALL_LINUXBREW=false +WORKSPACE_PUID=1000 +WORKSPACE_PGID=1000 +WORKSPACE_NODE_VERSION=stable +WORKSPACE_TIMEZONE=UTC +WORKSPACE_SSH_PORT=2222 + +### PHP_FPM Container +PHP_FPM_DOCKER_FILE=Dockerfile-70 +PHP_FPM_INSTALL_XDEBUG=false +PHP_FPM_INSTALL_MONGO=false +PHP_FPM_INSTALL_SOAP=false +PHP_FPM_INSTALL_ZIP_ARCHIVE=false +PHP_FPM_INSTALL_BCMATH=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_EXTENSION=false +PHP_FPM_INSTALL_MYSQLI=false +PHP_FPM_INSTALL_TOKENIZER=false + +### NGINX Container +NGINX_HOST_HTTP_PORT=80 +NGINX_HOST_HTTPS_PORT=433 +NGINX_HOST_LOG_PATH=./logs/nginx/ +NGINX_SITES_PATH=./nginx/sites/ + +### APACHE Container +APACHE_HOST_HTTP_PORT=80 +APACHE_HOST_HTTPS_PORT=443 +APACHE2_PHP_SOCKET=php-fpm:9000 +APACHE_HOST_LOG_PATH=./logs/apache2 +PHP_SOCKET=php-fpm:9000 + +### MYSQL Container +MYSQL_DATABASE=default +MYSQL_USER=default +MYSQL_PASSWORD=secret +MYSQL_PORT=3306 +MYSQL_ROOT_PASSWORD=root + +### MARIADB Container +MARIADB_DATABASE=default +MARIADB_USER=default +MARIADB_PASSWORD=secret +MARIADB_PORT=3306 + + +### POSTGRES Container +POSTGRES_DB=default +POSTGRES_USER=default +POSTGRES_PASSWORD=secret +POSTGRES_PORT=5432 + +### RABBITMQ Container +RABBITMQ_NODE_HOST_PORT=5672 +RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 +RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 +RABBITMQ_DEFAULT_USER=guest +RABBITMQ_DEFAULT_PASS=guest + +### ELASTICSEARCH Container +ELASTICSEARCH_HOST_HTTP_PORT=9200 +ELASTICSEARCH_HOST_TRANSPORT_PORT=9300 + +### MEMCACHED Container +MEMCACHED_HOST_PORT=11211 + +### BEANSTALKD CONSOLE +BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console +BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console +BEANSTALKD_CONSOLE_HOST_PORT=2080 + +### BEANSTALKD Container +BEANSTALKD_HOST_PORT=11300 + +### SELENIUM Container +SELENIUM_PORT=4444 + +### MINIO Container +MINIO_PORT=9000 + +### PHP MY ADMIN Container +# PMA_DB_ENGINE=mariadb +PMA_DB_ENGINE=mysql +PMA_USER=default +PMA_PASSWORD=secret +PMA_ROOT_PASSWORD=secret +PMA_PORT=88 + +### MISC +# Replace with your Docker Host IP (will be appended to /etc/hosts) +DOCKER_HOST_IP=10.0.75.1 +# The Remote Interpreter entry matching name `laradock` +PHP_IDE_CONFIG=serverName=laradock + +### to be continue neo4j mongo rethinkdb redis aerospike pgadmin ... diff --git a/docker-compose.yml b/docker-compose.yml index e9254784..51235b70 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,10 +36,9 @@ services: volumes_from: - applications extra_hosts: - # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - - "dockerhost:10.0.75.1" + - "dockerhost:${DOCKER_HOST_IP}" ports: - - "2222:22" + - "${WORKSPACE_SSH_PORT}:22" tty: true ### PHP-FPM Container ####################################### @@ -68,11 +67,9 @@ services: links: - workspace extra_hosts: - # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - - "dockerhost:10.0.75.1" + - "dockerhost:${DOCKER_HOST_IP}" environment: - # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - - PHP_IDE_CONFIG=serverName=laravel + - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} ### Nginx Server Container ################################## @@ -87,8 +84,8 @@ services: - ${NGINX_HOST_LOG_PATH}:/var/log/nginx - ${NGINX_SITES_PATH}:/etc/nginx/sites-available ports: - - "80:80" - - "443:443" + - "${NGINX_HOST_HTTP_PORT}:80" + - "${NGINX_HOST_HTTPS_PORT}:443" links: - php-fpm @@ -98,14 +95,14 @@ services: build: context: ./apache2 args: - - PHP_SOCKET=php-fpm:9000 + - PHP_SOCKET=${PHP_SOCKET} volumes_from: - applications volumes: - - ./logs/apache2:/var/log/apache2 + - ${APACHE_HOST_LOG_PATH}:/var/log/apache2 ports: - - "80:80" - - "443:443" + - "${APACHE_HOST_HTTP_PORT}:80" + - "${APACHE_HOST_HTTPS_PORT}:443" links: - php-fpm @@ -127,7 +124,7 @@ services: volumes: - minio:/export ports: - - "9000:9000" + - "${MINIO_PORT}:9000" environment: MINIO_ACCESS_KEY: access MINIO_SECRET_KEY: secretkey @@ -138,14 +135,14 @@ services: build: context: ./mysql args: - - MYSQL_DATABASE=default - - MYSQL_USER=default - - MYSQL_PASSWORD=secret - - MYSQL_ROOT_PASSWORD=root + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} volumes: - mysql:/var/lib/mysql ports: - - "3306:3306" + - "${MYSQL_PORT}:3306" ### MariaDB Container ####################################### @@ -154,12 +151,12 @@ services: volumes: - mariadb:/var/lib/mysql ports: - - "3306:3306" + - "${MARIADB_PORT}:3306" environment: - MYSQL_DATABASE: default - MYSQL_USER: default - MYSQL_PASSWORD: secret - MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: ${MARIADB_DATABASE} + MYSQL_USER: ${MARIADB_USER} + MYSQL_PASSWORD: ${MARIADB_PASSWORD} + MYSQL_ROOT_PASSWORD: ${MARIADB_PORT} ### PostgreSQL Container #################################### @@ -168,11 +165,11 @@ services: volumes: - postgres:/var/lib/postgresql/data ports: - - "5432:5432" + - "${POSTGRES_PORT}:5432" environment: - POSTGRES_DB: default - POSTGRES_USER: default - POSTGRES_PASSWORD: secret + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} ### PostgreSQL PostGis Container ############################ @@ -181,11 +178,11 @@ services: volumes: - postgres:/var/lib/postgresql/data ports: - - "5432:5432" + - "${POSTGRES_PORT}:5432" environment: - POSTGRES_DB: default - POSTGRES_USER: default - POSTGRES_PASSWORD: secret + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} ### Neo4j Container ######################################### @@ -248,7 +245,7 @@ services: volumes: - memcached:/var/lib/memcached ports: - - "11211:11211" + - "${MEMCACHED_HOST_PORT}:11211" links: - php-fpm @@ -257,7 +254,7 @@ services: beanstalkd: build: ./beanstalkd ports: - - "11300:11300" + - "${BEANSTALKD_HOST_PORT}:11300" privileged: true links: - php-fpm @@ -267,13 +264,13 @@ services: rabbitmq: build: ./rabbitmq ports: - - "5672:5672" - - "15671:15671" - - "8080:15672" + - "${RABBITMQ_NODE_HOST_PORT}:5672" + - "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672" + - "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671" privileged: true environment: - RABBITMQ_DEFAULT_USER: guest - RABBITMQ_DEFAULT_PASS: guest + RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER} + RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} links: - php-fpm @@ -309,14 +306,14 @@ services: build: ./phpmyadmin environment: PMA_ARBITRARY: 1 - MYSQL_USER: default - MYSQL_PASSWORD: secret - MYSQL_ROOT_PASSWORD: root + MYSQL_USER: ${PMA_USER} + MYSQL_PASSWORD: ${PMA_PASSWORD} + MYSQL_ROOT_PASSWORD: ${PMA_ROOT_PASSWORD} ports: - - "8080:80" + - "${PMA_PORT}:80" links: # for mysql container - - "mysql:db" + - "${PMA_DB_ENGINE}:db" # for mariadb container # - "mariadb:db" @@ -337,8 +334,8 @@ services: - elasticsearch-data:/usr/share/elasticsearch/data - elasticsearch-plugins:/usr/share/elasticsearch/data ports: - - "9200:9200" - - "9300:9300" + - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200" + - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" links: - php-fpm @@ -347,7 +344,7 @@ services: selenium: build: ./selenium ports: - - "4444:4444" + - "${SELENIUM_PORT}:4444" volumes: # see https://github.com/SeleniumHQ/docker-selenium#running-the-images - /dev/shm:/dev/shm From 12506682670c7cb4fbac4c309d329fc2d6799960 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 10:47:10 -0300 Subject: [PATCH 032/292] Adding MSSQL Support --- php-fpm/Dockerfile-70 | 72 +++++++++++++++++++++++++++++++++++++++++++ php-fpm/laravel.ini | 3 ++ 2 files changed, 75 insertions(+) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 20aaf5a9..391bb734 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -186,6 +186,78 @@ RUN if [ ${CODEIGNITER} = true ]; then \ docker-php-ext-install tokenizer \ ;fi +##################################### +# SQL SERVER: +##################################### +ARG MSSQL=false +RUN if [ ${MSSQL} = true ]; then \ + + ##################################### + # Install Depenencies: + ##################################### + apt-get update && \ + apt-get install -y --force-yes wget apt-transport-https curl freetds-common php5-odbc libsybdb5 freetds-bin unixodbc unixodbc-dev php5-sybase && \ + + ##################################### + # The following steps were taken from + # Microsoft's github account: + # https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways + ##################################### + + # Add PHP 7 repository + # for Debian jessie + # And System upgrade + echo "deb http://packages.dotdeb.org jessie all" \ + | tee /etc/apt/sources.list.d/dotdeb.list \ + && wget -qO- https://www.dotdeb.org/dotdeb.gpg \ + | apt-key add - \ + && apt-get update \ + && apt-get upgrade -qq && \ + + # Install UnixODBC + # Compile odbc_config as it is not part of unixodbc package + apt-get install -y whiptail \ + unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \ + && dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \ + && cd unixodbc-*/ \ + && dpkg-buildpackage -uc -us -B -d \ + && cp -v ./exe/odbc_config /usr/local/bin/ && \ + + # Fake uname for install.sh + printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \ + | tee /usr/local/bin/uname \ + && chmod +x /usr/local/bin/uname && \ + + # Microsoft ODBC Driver 13 for Linux + # Note: There's a copy of this tar on my hubiC + wget -nv -O msodbcsql-13.0.0.0.tar.gz \ + "https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \ + && tar -xf msodbcsql-13.0.0.0.tar.gz \ + && cd msodbcsql-*/ \ + && ldd lib64/libmsodbcsql-13.0.so.0.0 \ + && ./install.sh install --accept-license \ + && ls -l /opt/microsoft/msodbcsql/ \ + && odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \ + + + ##################################### + # Install sqlsrv y pdo_sqlsrv + # extensions: + ##################################### + + pecl install sqlsrv-4.0.6 && \ + pecl install pdo_sqlsrv-4.0.6 && \ + + ##################################### + # Set locales for the container + ##################################### + + apt-get install -y locales \ + && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ + && locale-gen \ +;fi + + # #-------------------------------------------------------------------------- # Final Touch diff --git a/php-fpm/laravel.ini b/php-fpm/laravel.ini index 486a2cab..fdf70e71 100644 --- a/php-fpm/laravel.ini +++ b/php-fpm/laravel.ini @@ -11,3 +11,6 @@ upload_max_filesize = 20M ; Sets max size of post data allowed. ; http://php.net/post-max-size post_max_size = 20M +; Enables the MSSQL extensions +extension=sqlsrv.so +extension=pdo_sqlsrv.so \ No newline at end of file From 246814874ccd187e618e8977449b0562a0625ec5 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 10:49:44 -0300 Subject: [PATCH 033/292] Adding Arg to docker-compose --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 283d7770..5ef43a57 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -61,6 +61,7 @@ services: - INSTALL_EXIF=false - INSTALL_AEROSPIKE_EXTENSION=false - CODEIGNITER=false + - MSSQL=false dockerfile: Dockerfile-70 volumes_from: - applications From fd0cbff16cb5df9c0039bb00d6a20c647b036de2 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 10:58:35 -0300 Subject: [PATCH 034/292] Adding ARG to docker-compose --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 283d7770..b1944ec2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -61,6 +61,7 @@ services: - INSTALL_EXIF=false - INSTALL_AEROSPIKE_EXTENSION=false - CODEIGNITER=false + - GHOSTSCRIPT=false dockerfile: Dockerfile-70 volumes_from: - applications From 9c14954ff4c2f96acf96b4161c0a8e8676cc2420 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 10:59:38 -0300 Subject: [PATCH 035/292] Adding GHOSTSCRIPT support --- php-fpm/Dockerfile-70 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 20aaf5a9..2aa584c3 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -186,6 +186,20 @@ RUN if [ ${CODEIGNITER} = true ]; then \ docker-php-ext-install tokenizer \ ;fi +##################################### +# GHOSTSCRIPT: +##################################### + +ARG GHOSTSCRIPT=false +RUN if [ ${GHOSTSCRIPT} = true ]; then \ + # Install the ghostscript extension + # for PDF editing + apt-get -y update \ + && apt-get install -y \ + poppler-utils \ + ghostscript \ +;fi + # #-------------------------------------------------------------------------- # Final Touch From d505871faffe89e35a7e89eeb2b2b6069c962202 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 11:05:22 -0300 Subject: [PATCH 036/292] Adding php-worker for Laravel --- php-worker/Dockerfile | 39 +++++++++++++++++++++++++++++++++++++ php-worker/supervisord.conf | 9 +++++++++ 2 files changed, 48 insertions(+) create mode 100644 php-worker/Dockerfile create mode 100644 php-worker/supervisord.conf diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile new file mode 100644 index 00000000..c588b3d0 --- /dev/null +++ b/php-worker/Dockerfile @@ -0,0 +1,39 @@ +# +#-------------------------------------------------------------------------- +# Image Setup +#-------------------------------------------------------------------------- +# +# To take a look at the'php-worker' base Image, visit its DockerHub page +# https://hub.docker.com/r/nielsvdoorn/laravel-supervisor/ +# + +FROM nielsvdoorn/laravel-supervisor + +# +#-------------------------------------------------------------------------- +# Optional Supervisord Configuration +#-------------------------------------------------------------------------- +# +# Modify the ./supervisor.conf file to match your App's requirements. +# Make sure you rebuild your container with every change. +# +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf + +# +#-------------------------------------------------------------------------- +# Optional Software's Installation +#-------------------------------------------------------------------------- +# +# If you need to modify this image, feel free to do it right here. +# + # -- Your awesome modifications go here -- # + + +# +#-------------------------------------------------------------------------- +# Final Touch +#-------------------------------------------------------------------------- +# + +RUN rm -r /var/lib/apt/lists/* +WORKDIR /etc/supervisor/conf.d/supervisord.conf \ No newline at end of file diff --git a/php-worker/supervisord.conf b/php-worker/supervisord.conf new file mode 100644 index 00000000..78156750 --- /dev/null +++ b/php-worker/supervisord.conf @@ -0,0 +1,9 @@ +[supervisord] +nodaemon=true +[program:laravel-worker] +process_name=%(program_name)s_%(process_num)02d +command=php /var/www/laravel/artisan queue:work --sleep=3 --tries=3 --daemon +autostart=true +autorestart=true +numprocs=8 +redirect_stderr=true \ No newline at end of file From cbd3cf7c20f25d058d9f11d7daa03d5210a8a9c0 Mon Sep 17 00:00:00 2001 From: Ignacio Cabrera Date: Tue, 14 Mar 2017 11:06:45 -0300 Subject: [PATCH 037/292] Adding php-worker container to docker-compose --- docker-compose.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 283d7770..10eee553 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -74,6 +74,15 @@ services: environment: # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - PHP_IDE_CONFIG=serverName=laravel + +### PHP Worker Container ################################# + php-worker: + build: + context: ./php-worker + volumes: + - ../:/var/www/laravel + links: + - workspace ### Nginx Server Container ################################## From 0d41c3d65eb91b207bb85903ba9581a5c9d2ea99 Mon Sep 17 00:00:00 2001 From: Marius van Zundert Date: Wed, 15 Mar 2017 09:12:07 +0100 Subject: [PATCH 038/292] updated env-example and removed .env.example --- .env.example | 124 ------------------------------------ env-example | 177 +++++++++++++++++++-------------------------------- 2 files changed, 67 insertions(+), 234 deletions(-) delete mode 100644 .env.example diff --git a/.env.example b/.env.example deleted file mode 100644 index 91762646..00000000 --- a/.env.example +++ /dev/null @@ -1,124 +0,0 @@ -### Application -# Point to your application code, wish should be available at `/var/www` -APPLICATIONS_HOST_DIR=../ - -### PHP version (Does not apply for HHVM) -# PHP_VERSION=55 -# PHP_VERSION=56 -PHP_VERSION=70 - -### PHP interpreter -# PHP_INTERPRETER=hhvm -PHP_INTERPRETER=php-fpm - -### WORKSPACE Container -WORKSPACE_INSTALL_XDEBUG=false -WORKSPACE_INSTALL_SOAP=false -WORKSPACE_INSTALL_MONGO=false -WORKSPACE_INSTALL_NODE=false -WORKSPACE_INSTALL_YARN=false -WORKSPACE_INSTALL_DRUSH=false -WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false -WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION=false -WORKSPACE_COMPOSER_GLOBAL_INSTALL=false -WORKSPACE_INSTALL_WORKSPACE_SSH=false -WORKSPACE_INSTALL_LARAVEL_ENVOY=false -WORKSPACE_INSTALL_DEPLOYER=false -WORKSPACE_INSTALL_LINUXBREW=false -WORKSPACE_PUID=1000 -WORKSPACE_PGID=1000 -WORKSPACE_NODE_VERSION=stable -WORKSPACE_TIMEZONE=UTC -WORKSPACE_SSH_PORT=2222 - -### PHP_FPM Container -PHP_FPM_DOCKER_FILE=Dockerfile-70 -PHP_FPM_INSTALL_XDEBUG=false -PHP_FPM_INSTALL_MONGO=false -PHP_FPM_INSTALL_SOAP=false -PHP_FPM_INSTALL_ZIP_ARCHIVE=false -PHP_FPM_INSTALL_BCMATH=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_EXTENSION=false -PHP_FPM_INSTALL_MYSQLI=false -PHP_FPM_INSTALL_TOKENIZER=false - -### NGINX Container -NGINX_HOST_HTTP_PORT=80 -NGINX_HOST_HTTPS_PORT=433 -NGINX_HOST_LOG_PATH=./logs/nginx/ -NGINX_SITES_PATH=./nginx/sites/ - -### APACHE Container -APACHE_HOST_HTTP_PORT=80 -APACHE_HOST_HTTPS_PORT=443 -APACHE2_PHP_SOCKET=php-fpm:9000 -APACHE_HOST_LOG_PATH=./logs/apache2 -PHP_SOCKET=php-fpm:9000 - -### MYSQL Container -MYSQL_DATABASE=default -MYSQL_USER=default -MYSQL_PASSWORD=secret -MYSQL_PORT=3306 -MYSQL_ROOT_PASSWORD=root - -### MARIADB Container -MARIADB_DATABASE=default -MARIADB_USER=default -MARIADB_PASSWORD=secret -MARIADB_PORT=3306 - - -### POSTGRES Container -POSTGRES_DB=default -POSTGRES_USER=default -POSTGRES_PASSWORD=secret -POSTGRES_PORT=5432 - -### RABBITMQ Container -RABBITMQ_NODE_HOST_PORT=5672 -RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 -RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 -RABBITMQ_DEFAULT_USER=guest -RABBITMQ_DEFAULT_PASS=guest - -### ELASTICSEARCH Container -ELASTICSEARCH_HOST_HTTP_PORT=9200 -ELASTICSEARCH_HOST_TRANSPORT_PORT=9300 - -### MEMCACHED Container -MEMCACHED_HOST_PORT=11211 - -### BEANSTALKD CONSOLE -BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console -BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console -BEANSTALKD_CONSOLE_HOST_PORT=2080 - -### BEANSTALKD Container -BEANSTALKD_HOST_PORT=11300 - -### SELENIUM Container -SELENIUM_PORT=4444 - -### MINIO Container -MINIO_PORT=9000 - -### PHP MY ADMIN Container -# PMA_DB_ENGINE=mariadb -PMA_DB_ENGINE=mysql -PMA_USER=default -PMA_PASSWORD=secret -PMA_ROOT_PASSWORD=secret -PMA_PORT=88 - -### MISC -# Replace with your Docker Host IP (will be appended to /etc/hosts) -DOCKER_HOST_IP=10.0.75.1 -# The Remote Interpreter entry matching name `laradock` -PHP_IDE_CONFIG=serverName=laradock - -### to be continue neo4j mongo rethinkdb redis aerospike pgadmin ... diff --git a/env-example b/env-example index 3ecca97a..91762646 100644 --- a/env-example +++ b/env-example @@ -1,25 +1,17 @@ -################## -# DOCKER COMPOSE # -# ################ +### Application +# Point to your application code, wish should be available at `/var/www` +APPLICATIONS_HOST_DIR=../ -DOCKER_HOST_IP=10.0.75.1 +### PHP version (Does not apply for HHVM) +# PHP_VERSION=55 +# PHP_VERSION=56 +PHP_VERSION=70 -# Switch between PHP and HHVM interpreter +### PHP interpreter # PHP_INTERPRETER=hhvm PHP_INTERPRETER=php-fpm -# Switch between supported PHP versions... does not apply for HHVM. -# Please see composer.json in Laravel Framework for the minimum Php Version -#PHP_VERSION=55 -#PHP_VERSION=56 -PHP_VERSION=70 - -# APPLICATIONS -APPLICATIONS_HOST_DIR=../ -APPLICATIONS_IMAGE_NAME=tianon/true -APPLICATIONS_CONTAINER_NAME=applications - -# WORKSPACE +### WORKSPACE Container WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_MONGO=false @@ -39,7 +31,7 @@ WORKSPACE_NODE_VERSION=stable WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 -# PHP_FPM +### PHP_FPM Container PHP_FPM_DOCKER_FILE=Dockerfile-70 PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_MONGO=false @@ -54,114 +46,79 @@ PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false PHP_FPM_INSTALL_MYSQLI=false PHP_FPM_INSTALL_TOKENIZER=false -# NGINX -NGINX_HOST_HTTP_PORT=8080 -NGINX_HOST_HTTPS_PORT=8433 +### NGINX Container +NGINX_HOST_HTTP_PORT=80 +NGINX_HOST_HTTPS_PORT=433 NGINX_HOST_LOG_PATH=./logs/nginx/ NGINX_SITES_PATH=./nginx/sites/ - - -# APACHE -APACHE2_BUILD_PATH=./apache2 -APACHE2_CONTAINER_NAME=apache2 -APACHE_HOST_HTTP_PORT=7080 -APACHE_HOST_HTTPS_PORT=7443 +### APACHE Container +APACHE_HOST_HTTP_PORT=80 +APACHE_HOST_HTTPS_PORT=443 APACHE2_PHP_SOCKET=php-fpm:9000 APACHE_HOST_LOG_PATH=./logs/apache2 +PHP_SOCKET=php-fpm:9000 -# HHVM -HHVM_BUILD_PATH=./hhvm -HHVM_CONTAINER_NAME=hhvm -HHVM_HOST_PORT=9000 - -# MYSQL -MYSQL_BUILD_PATH=./mysql -MYSQL_CONTAINER_NAME=mysql -MYSQL_HOST_PORT=3307 +### MYSQL Container +MYSQL_DATABASE=default +MYSQL_USER=default +MYSQL_PASSWORD=secret +MYSQL_PORT=3306 MYSQL_ROOT_PASSWORD=root -# MEMCACHED -MEMCACHED_BUILD_PATH=./memcached -MEMCACHED_CONTAINER_NAME=memcached +### MARIADB Container +MARIADB_DATABASE=default +MARIADB_USER=default +MARIADB_PASSWORD=secret +MARIADB_PORT=3306 + + +### POSTGRES Container +POSTGRES_DB=default +POSTGRES_USER=default +POSTGRES_PASSWORD=secret +POSTGRES_PORT=5432 + +### RABBITMQ Container +RABBITMQ_NODE_HOST_PORT=5672 +RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 +RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 +RABBITMQ_DEFAULT_USER=guest +RABBITMQ_DEFAULT_PASS=guest + +### ELASTICSEARCH Container +ELASTICSEARCH_HOST_HTTP_PORT=9200 +ELASTICSEARCH_HOST_TRANSPORT_PORT=9300 + +### MEMCACHED Container MEMCACHED_HOST_PORT=11211 -# BEANSTALKD -BEANSTALKD_BUILD_PATH=./beanstalkd -BEANSTALKD_CONTAINER_NAME=beanstalkd -BEANSTALKD_HOST_PORT=11300 - -# BEANSTALKD CONSOLE +### BEANSTALKD CONSOLE BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console BEANSTALKD_CONSOLE_HOST_PORT=2080 -# RABBITMQ -RABBITMQ_BUILD_PATH=./rabbitmq -RABBITMQ_CONTAINER_NAME=rabbitmq -RABBITMQ_NODE_HOST_PORT=5672 -RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 -RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 -RABBITMQ_DEFAULT_USER=guest -RABBITMQ_DEFAULT_PASS=guest +### BEANSTALKD Container +BEANSTALKD_HOST_PORT=11300 -# ELASTICSEARCH -ELASTICSEARCH_BUILD_PATH=./elasticsearch/versions/2 -ELASTICSEARCH_CONTAINER_NAME=elasticsearch -ELASTICSEARCH_HOST_HTTP_PORT=9200 -ELASTICSEARCH_HOST_TRANSPORT_PORT=9300 +### SELENIUM Container +SELENIUM_PORT=4444 -#################### -# LARAVEL SPECIFIC # -# ################## +### MINIO Container +MINIO_PORT=9000 -# APP -APP_ENV=local -APP_KEY=base64:FeZgPe6Pqm7dOCy7Sx0P/PQ9ICMuwAsHLms7DUOxCkI= -APP_DEBUG=true -APP_LOG_LEVEL=debug -APP_URL=http://localhost +### PHP MY ADMIN Container +# PMA_DB_ENGINE=mariadb +PMA_DB_ENGINE=mysql +PMA_USER=default +PMA_PASSWORD=secret +PMA_ROOT_PASSWORD=secret +PMA_PORT=88 -# DATABASE -DB_CONNECTION=mysql +### MISC +# Replace with your Docker Host IP (will be appended to /etc/hosts) +DOCKER_HOST_IP=10.0.75.1 +# The Remote Interpreter entry matching name `laradock` +PHP_IDE_CONFIG=serverName=laradock -# Laravel Original: DB_HOST=127.0.0.1 -# must match the service name or container name. -# so if we want to use mariadb it must look like: -# DB_HOST=mariadb -DB_HOST=mysql - -# IMPORTANT: -# - ports are defined in docker-compose.yml like HOST_PORT:CONTAINER_PORT -# - DB_PORT=3306 represents the CONTAINER_PORT not the HOST_PORT -# -# This means that this should not be changed unless you have also tweaked the database image created by -# docker-compose.yml. -DB_PORT=3306 -DB_DATABASE=default -DB_USERNAME=default -DB_PASSWORD=secret - -# DRIVERS -BROADCAST_DRIVER=log -CACHE_DRIVER=file -SESSION_DRIVER=file -QUEUE_DRIVER=sync - -# REDIS -REDIS_HOST=redis -REDIS_PASSWORD=null -REDIS_PORT=6379 - -# MAIL -MAIL_DRIVER=smtp -MAIL_HOST=mailtrap.io -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -# PUSHER -PUSHER_APP_ID= -PUSHER_KEY= -PUSHER_SECRET= +### to be continue neo4j mongo rethinkdb redis aerospike pgadmin ... From 735647bdf7408e5db253c67c9f3ba6cc48b1fd7b Mon Sep 17 00:00:00 2001 From: David Leung Date: Wed, 15 Mar 2017 13:51:54 -1000 Subject: [PATCH 039/292] Refine container definition Changed to `docker ps` because this one word wraps. `docker-compose ps` will create a newline if text is too long in a small terminal window. Also `awk` represents tokens better than ones created with a " " delimiter. --- xdebugPhpFpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdebugPhpFpm b/xdebugPhpFpm index 5af6eac8..9fb9e755 100755 --- a/xdebugPhpFpm +++ b/xdebugPhpFpm @@ -4,7 +4,7 @@ # Grab full name of php-fpm container -PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d " " -f 1) +PHP_FPM_CONTAINER=$(docker ps | grep php-fpm | awk '{print $1}') # Grab OS type From 8ee2229c849b9556e08be4d4bd53f3f1bca24ab0 Mon Sep 17 00:00:00 2001 From: Max Mekenya Date: Thu, 16 Mar 2017 09:59:05 +1000 Subject: [PATCH 040/292] intl support --- php-fpm/Dockerfile-70 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index f6071232..14256de0 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -185,6 +185,18 @@ RUN if [ ${CODEIGNITER} = true ]; then \ docker-php-ext-install tokenizer \ ;fi +##################################### +# Human Language and Character Encoding Support: +##################################### + +ARG INTL=false +RUN if [ ${INTL} = true ]; then \ + # Install intl and requirements + apt-get install -y zlib1g-dev libicu-dev g++ && \ + docker-php-ext-configure intl && \ + docker-php-ext-install intl \ +;fi + # #-------------------------------------------------------------------------- # Final Touch From c62ce7d36fc578fe1e30bb6271f599b48844125f Mon Sep 17 00:00:00 2001 From: Max Mekenya Date: Thu, 16 Mar 2017 09:59:52 +1000 Subject: [PATCH 041/292] Update docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3199a3f6..b6627b57 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,6 +59,7 @@ services: - INSTALL_EXIF=false - INSTALL_AEROSPIKE_EXTENSION=false - CODEIGNITER=false + - INTL=false dockerfile: Dockerfile-70 volumes_from: - applications From bed0fd9bdba90d54aef3f3d795511a53a9f31cf9 Mon Sep 17 00:00:00 2001 From: MauricioTRS Date: Thu, 16 Mar 2017 14:24:56 -0300 Subject: [PATCH 042/292] Elasticsearch - Fix plugins directory --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index b1944ec2..8ff9bd83 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -337,7 +337,7 @@ services: build: ./elasticsearch volumes: - elasticsearch-data:/usr/share/elasticsearch/data - - elasticsearch-plugins:/usr/share/elasticsearch/data + - elasticsearch-plugins:/usr/share/elasticsearch/plugins ports: - "9200:9200" - "9300:9300" From 1d6583e97e556778b475486e0cbc3a22903a9190 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Thu, 16 Mar 2017 14:40:45 -0400 Subject: [PATCH 043/292] Revert "Add apache conf file for specific virtualhost ServerName" --- .env | 1 + .gitignore | 1 - apache2/Dockerfile | 3 --- apache2/apache-config.conf | 16 -------------- docker-compose.yml | 44 +++++++++++++++----------------------- 5 files changed, 18 insertions(+), 47 deletions(-) create mode 100644 .env delete mode 100644 apache2/apache-config.conf diff --git a/.env b/.env new file mode 100644 index 00000000..accd09a0 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +COMPOSE_CONVERT_WINDOWS_PATHS=1 diff --git a/.gitignore b/.gitignore index 00571d72..7c6f11b7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ .idea /logs /data -.env diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 21373f5c..569ba9f3 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -15,6 +15,3 @@ WORKDIR /var/www/public ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] CMD ["supervisord"] - -# Update the default apache site with the config we created. -ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf \ No newline at end of file diff --git a/apache2/apache-config.conf b/apache2/apache-config.conf deleted file mode 100644 index aede94e4..00000000 --- a/apache2/apache-config.conf +++ /dev/null @@ -1,16 +0,0 @@ - - ServerAdmin me@mydomain.com - DocumentRoot ${WEB_DOCUMENT_ROOT} - ServerName ${SERVER_ALIAS} - - - Options Indexes FollowSymLinks MultiViews - AllowOverride All - Order deny,allow - Allow from all - - - ErrorLog ${APACHE_LOG_DIR}/error.log - CustomLog ${APACHE_LOG_DIR}/access.log combined - - \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 477a74c0..f5e1c245 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,16 +77,6 @@ services: # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - PHP_IDE_CONFIG=serverName=laravel -### PHP-WORKER Container ####################################### - - php-worker: - build: - context: ./php-fpm - dockerfile: Dockerfile-70 # or Dockerfile-56, choose your PHP-FPM container setting - volumes_from: - - applications - command: php artisan queue:work - ### Nginx Server Container ################################## nginx: @@ -117,8 +107,8 @@ services: volumes: - ./logs/apache2:/var/log/apache2 ports: - - "$SERVER_PORT:80" - - "$SERVER_SSL_PORT:443" + - "80:80" + - "443:443" links: - php-fpm @@ -151,14 +141,14 @@ services: build: context: ./mysql args: - - MYSQL_DATABASE=$DB_DATABASE - - MYSQL_USER=$DB_USERNAME - - MYSQL_PASSWORD=$DB_PASSWORD + - MYSQL_DATABASE=homestead + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret - MYSQL_ROOT_PASSWORD=root volumes: - mysql:/var/lib/mysql ports: - - "$DB_PORT:3306" + - "3306:3306" ### MariaDB Container ####################################### @@ -169,9 +159,9 @@ services: ports: - "3306:3306" environment: - MYSQL_DATABASE: $DB_DATABASE - MYSQL_USER: $DB_USERNAME - MYSQL_PASSWORD: $DB_PASSWORD + MYSQL_DATABASE: homestead + MYSQL_USER: homestead + MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ### PostgreSQL Container #################################### @@ -183,9 +173,9 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: $DB_DATABASE - POSTGRES_USER: $DB_USERNAME - POSTGRES_PASSWORD: $DB_PASSWORD + POSTGRES_DB: homestead + POSTGRES_USER: homestead + POSTGRES_PASSWORD: secret ### PostgreSQL PostGis Container ############################ @@ -196,9 +186,9 @@ services: ports: - "5432:5432" environment: - POSTGRES_DB: $DB_DATABASE - POSTGRES_USER: $DB_USERNAME - POSTGRES_PASSWORD: $DB_PASSWORD + POSTGRES_DB: homestead + POSTGRES_USER: homestead + POSTGRES_PASSWORD: secret ### Neo4j Container ######################################### @@ -322,8 +312,8 @@ services: build: ./phpmyadmin environment: PMA_ARBITRARY: 1 - MYSQL_USER: $DB_USERNAME - MYSQL_PASSWORD: $DB_PASSWORD + MYSQL_USER: homestead + MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ports: - "8080:80" From dcec8a46a8f75fb1783928827dabdf20bec954f8 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Thu, 16 Mar 2017 15:11:04 -0400 Subject: [PATCH 044/292] replace the links with depends_on in the docker-compose file closes #636 --- docker-compose.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f5e1c245..5d24affe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -68,7 +68,7 @@ services: - applications expose: - "9000" - links: + depends_on: - workspace extra_hosts: # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) @@ -92,7 +92,7 @@ services: ports: - "80:80" - "443:443" - links: + depends_on: - php-fpm ### Apache Server Container ################################# @@ -109,7 +109,7 @@ services: ports: - "80:80" - "443:443" - links: + depends_on: - php-fpm ### HHVM Container ########################################## @@ -120,7 +120,7 @@ services: - applications expose: - "9000" - links: + depends_on: - workspace ### Minio Container ######################################### @@ -252,7 +252,7 @@ services: - memcached:/var/lib/memcached ports: - "11211:11211" - links: + depends_on: - php-fpm ### Beanstalkd Container #################################### @@ -262,7 +262,7 @@ services: ports: - "11300:11300" privileged: true - links: + depends_on: - php-fpm ### RabbitMQ Container ###################################### @@ -277,7 +277,7 @@ services: environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest - links: + depends_on: - php-fpm ### Beanstalkd Console Container ############################ @@ -286,7 +286,7 @@ services: build: ./beanstalkd-console ports: - "2080:2080" - links: + depends_on: - beanstalkd ### Caddy Server Container ################################## @@ -303,7 +303,7 @@ services: - ./caddy/Caddyfile:/etc/Caddyfile - ./logs/caddy:/var/log/caddy - caddy:/root/.caddy - links: + depends_on: - php-fpm ### phpMyAdmin Container #################################### @@ -317,11 +317,11 @@ services: MYSQL_ROOT_PASSWORD: root ports: - "8080:80" - links: + depends_on: # for mysql container - - "mysql:db" + - "mysql" # for mariadb container - # - "mariadb:db" + # - "mariadb" ### pgAdmin Container ####################################### @@ -329,7 +329,7 @@ services: build: ./pgadmin ports: - "5050:5050" - links: + depends_on: - postgres ### ElasticSearch Container ################################# @@ -342,7 +342,7 @@ services: ports: - "9200:9200" - "9300:9300" - links: + depends_on: - php-fpm ### Certbot Container ################################## From 30cf27e011eb2d2c4f47f67fa783b00d63f208b5 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Thu, 16 Mar 2017 15:56:37 -0400 Subject: [PATCH 045/292] Fix `nginx: [emerg] BIO_new_file("/var/certs/cert1.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/var/certs/cert1.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)` --- nginx/sites/laravel-https.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nginx/sites/laravel-https.conf b/nginx/sites/laravel-https.conf index 0704dbf8..2c0b0bf2 100644 --- a/nginx/sites/laravel-https.conf +++ b/nginx/sites/laravel-https.conf @@ -3,9 +3,9 @@ server { listen 443 default_server; listen [::]:443 default_server ipv6only=on; - ssl on; - ssl_certificate /var/certs/cert1.pem; - ssl_certificate_key /var/certs/privkey1.pem; + #ssl on; + #ssl_certificate /var/certs/cert1.pem; + #ssl_certificate_key /var/certs/privkey1.pem; server_name laravel; root /var/www/laravel/public; From e0e4616ae0b38322776c1b5432e13d5aa9da7197 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Thu, 16 Mar 2017 17:03:05 -0400 Subject: [PATCH 046/292] update installation steps in the docs (.env) --- docker-compose.yml | 2 +- docs/_settings/content/contributing/index.md | 4 +- docs/_settings/content/documentation/index.md | 34 ++-- .../content/getting-started/index.md | 70 ++++--- docs/_settings/content/help/index.md | 4 +- docs/_settings/content/introduction/index.md | 41 +++-- .../content/related-projects/index.md | 6 +- docs/contributing/index.html | 4 +- docs/contributing/index.xml | 4 +- docs/documentation/index.html | 34 ++-- docs/documentation/index.xml | 34 ++-- docs/getting-started/index.html | 83 ++++++--- docs/getting-started/index.xml | 83 ++++++--- docs/help/index.html | 4 +- docs/help/index.xml | 4 +- docs/index.html | 171 +++++++++++------- docs/index.xml | 171 +++++++++++------- docs/introduction/index.html | 40 ++-- docs/introduction/index.xml | 40 ++-- docs/related-projects/index.html | 6 +- docs/related-projects/index.xml | 6 +- env-example | 2 +- 22 files changed, 519 insertions(+), 328 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0bad6746..4bda231b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: applications: image: tianon/true volumes: - - ${APPLICATIONS_HOST_DIR}:/var/www + - ${APPLICATION_1}:/var/www ### Workspace Utilities Container ########################### diff --git a/docs/_settings/content/contributing/index.md b/docs/_settings/content/contributing/index.md index 4631aa7a..14d01109 100644 --- a/docs/_settings/content/contributing/index.md +++ b/docs/_settings/content/contributing/index.md @@ -9,7 +9,7 @@ Your contribution is more than welcome. ## Got a Question or Problem? -If you have questions about how to use LaraDock, please direct your questions to the discussion on [Gitter](https://gitter.im/LaraDock/laradock). If you believe your question could help others, then consider opening an [Issue](https://github.com/laradock/laradock/issues) (it will be labeled as Question). +If you have questions about how to use Laradock, please direct your questions to the discussion on [Gitter](https://gitter.im/Laradock/laradock). If you believe your question could help others, then consider opening an [Issue](https://github.com/laradock/laradock/issues) (it will be labeled as Question). ## Found an Issue? If you find a bug in the source code or a mistake in the documentation, you can help us by @@ -62,7 +62,7 @@ Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Ma * Edit the files you want to update. * **Note:** If you want to edit the base image of the `Workspace` or the `php-fpm` Containers, -you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the LaraDock repository. +you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the Laradock repository. * Make sure to update the `Readme` in case you made any changes. diff --git a/docs/_settings/content/documentation/index.md b/docs/_settings/content/documentation/index.md index f8785f81..ee2e5d75 100644 --- a/docs/_settings/content/documentation/index.md +++ b/docs/_settings/content/documentation/index.md @@ -329,7 +329,7 @@ For information on how to configure xDebug with your IDE and work it out, check By installing xDebug, you are enabling it to run on startup by default. -To control the behavior of xDebug (in the `php-fpm` Container), you can run the following commands from the LaraDock root folder, (at the same prompt where you run docker-compose): +To control the behavior of xDebug (in the `php-fpm` Container), you can run the following commands from the Laradock root folder, (at the same prompt where you run docker-compose): - Stop xDebug from running by default: `./xdebugPhpFpm stop`. - Start xDebug by default: `./xdebugPhpFpm start`. @@ -381,10 +381,10 @@ It should be like this:
- -## Prepare LaraDock for Production + +## Prepare Laradock for Production -It's recommended for production to create a custom `docker-compose.yml` file. For that reason, LaraDock is shipped with `production-docker-compose.yml` which should contain only the containers you are planning to run on production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`). +It's recommended for production to create a custom `docker-compose.yml` file. For that reason, Laradock is shipped with `production-docker-compose.yml` which should contain only the containers you are planning to run on production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`). Note: The Database (MySQL/MariaDB/...) ports should not be forwarded on production, because Docker will automatically publish the port on the host, which is quite insecure, unless specifically told not to. So make sure to remove these lines: @@ -439,7 +439,7 @@ For more about the Laravel installation click [here](https://laravel.com/docs/ma 3 - Edit `docker-compose.yml` to Map the new application path: -By default, LaraDock assumes the Laravel application is living in the parent directory of the laradock folder. +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: @@ -456,7 +456,7 @@ Since the new Laravel application is in the `my-cool-app` folder, we need to rep cd my-cool-app ``` -5 - Go back to the LaraDock installation steps to see how to edit the `.env` file. +5 - Go back to the Laradock installation steps to see how to edit the `.env` file. @@ -581,7 +581,7 @@ composer require predis/predis:^1.0 5 - You can manually test it from Laravel with this code: ```php -\Cache::store('redis')->put('LaraDock', 'Awesome', 10); +\Cache::store('redis')->put('Laradock', 'Awesome', 10); ``` @@ -893,7 +893,7 @@ docker-compose up -d minio ## Install CodeIgniter -To install CodeIgniter 3 on LaraDock all you have to do is the following simple steps: +To install CodeIgniter 3 on Laradock all you have to do is the following simple steps: 1 - Open the `docker-compose.yml` file. @@ -1198,7 +1198,7 @@ It should be like this:
## Common Terminal Aliases -When you start your docker container, LaraDock will copy the `aliases.sh` file located in the `laradock/workspace` directory and add sourcing to the container `~/.bashrc` file. +When you start your docker container, Laradock will copy the `aliases.sh` file located in the `laradock/workspace` directory and add sourcing to the container `~/.bashrc` file. You are free to modify the `aliases.sh` as you see fit, adding your own aliases (or function macros) to suit your requirements. @@ -1292,10 +1292,10 @@ Remote debug Laravel web and phpunit tests.
- -## Keep track of your LaraDock changes + +## Keep track of your Laradock changes -1. Fork the LaraDock repository. +1. Fork the Laradock repository. 2. Use that fork as a submodule. 3. Commit all your changes to your fork. 4. Pull new stuff from the main repository from time to time. @@ -1308,14 +1308,14 @@ Remote debug Laravel web and phpunit tests.
-## Upgrading LaraDock +## Upgrading Laradock -Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requires upgrading LaraDock from v3.* to v4.*: +Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requires upgrading Laradock from v3.* to v4.*: 1. Stop the docker VM `docker-machine stop {default}` 2. Install Docker for [Mac](https://docs.docker.com/docker-for-mac/) or [Windows](https://docs.docker.com/docker-for-windows/). -3. Upgrade LaraDock to `v4.*.*` (`git pull origin master`) -4. Use LaraDock as you used to do: `docker-compose up -d nginx mysql`. +3. Upgrade Laradock to `v4.*.*` (`git pull origin master`) +4. Use Laradock as you used to do: `docker-compose up -d nginx mysql`. **Note:** If you face any problem with the last step above: rebuild all your containers `docker-compose build --no-cache` @@ -1454,4 +1454,4 @@ This error sometimes happens because your Laravel application isn't running on t 1. Check your running Laravel application IP by dumping `Request::ip()` variable using `dd(Request::ip())` anywhere on your application. The result is the IP of your Laravel container. 2. Change the `DB_HOST` variable on env with the IP that you received from previous step. * Option B - 1. Change the `DB_HOST` value to the same name as the MySQL docker container. The LaraDock docker-compose file currently has this as `mysql` + 1. Change the `DB_HOST` value to the same name as the MySQL docker container. The Laradock docker-compose file currently has this as `mysql` diff --git a/docs/_settings/content/getting-started/index.md b/docs/_settings/content/getting-started/index.md index 858f95b9..f767d386 100644 --- a/docs/_settings/content/getting-started/index.md +++ b/docs/_settings/content/getting-started/index.md @@ -19,23 +19,35 @@ weight: 2 Choose the setup the best suits your needs. -#### A) Setup for Single Project: -*(In case you want a Docker environment for each project)* +- [A) Setup for Single Project](#A) + - [A.1) Already have a PHP project](#A1) + - [A.2) Don't have a PHP project yet](#A2) +- [B) Setup for Multiple Projects](#B) -##### A.1) Setup environment in existing Project: -*(In case you already have a project, and you want to setup an environment to run it)* -1 - Clone this repository on your project root directory: + +#### A) Setup for Single Project +> (Follow these steps if you want a separate Docker environment for each project) + + + +##### A.1) Already have a PHP project: +> (Follow these steps if you already have a PHP project, and all you need is an environment to run it) + +1 - Clone laradock on your project root directory: ```bash git submodule add https://github.com/Laradock/laradock.git ``` -*Note 1: If you are not yet using Git for your PHP project, you can use `git clone https://github.com/Laradock/laradock.git` instead.* +**Notes:** -*Note 2: To keep track of your LaraDock changes, between your projects and also keep LaraDock updated. [Check this](#keep-tracking-LaraDock)* +- If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `. -*Note 3: In this case the folder structure will be like this:* +- Note 2: To keep track of your Laradock changes, between your projects and also keep Laradock updated. [Check this](#keep-tracking-Laradock) + + +Your folder structure should look like this: ``` - project1 @@ -44,15 +56,18 @@ git submodule add https://github.com/Laradock/laradock.git - laradock ``` -##### A.2) Setup environment first then create project: -*(In case you don't have a project, and you want to create your project inside the Docker environment)* + + +##### A.2) Don't have a PHP project yet: +> (Follow these steps if you don't have a PHP project yet, and you need an environment to create the project) 1 - Clone this repository anywhere on your machine: ```bash git clone https://github.com/laradock/laradock.git ``` -Note: In this case the folder structure will be like this: + +Your folder structure should look like this: ``` - projects @@ -68,8 +83,9 @@ Note: In this case the folder structure will be like this: docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ .... ``` - + #### B) Setup for Multiple Projects: +> (Follow these steps if you want a single Docker environment for all project) 1 - Clone this repository anywhere on your machine: @@ -77,11 +93,10 @@ docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ .... git clone https://github.com/laradock/laradock.git ``` -2 - Edit the `docker-compose.yml` file to map to your projects directories: +2 - Edit the `docker-compose.yml` (or the `.env`) file to map to your projects directories: ``` applications: - image: tianon/true volumes: - ../project1/:/var/www/project1 - ../project2/:/var/www/project2 @@ -120,12 +135,12 @@ Do the same for each project `project2.conf`, `project3.conf`,... If you are using **Docker Toolbox** (VM), do one of the following: -- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading LaraDock](#upgrading-laradock) -- Use LaraDock v3.* (Visit the `LaraDock-ToolBox` [Branch](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)). +- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](#upgrading-laradock) +- Use Laradock v3.* (Visit the `Laradock-ToolBox` [Branch](https://github.com/laradock/laradock/tree/Laradock-ToolBox)).
->**Warning:** If you used an older version of LaraDock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](#Build-Re-build-Containers) in order to prevent errors as much as possible. +>**Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](#Build-Re-build-Containers) in order to prevent as much errors as possible.
@@ -143,7 +158,9 @@ docker-compose up -d nginx mysql You can select your own combination of Containers form the list below: -`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`. +`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `beanstalkd-console`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`, `postgres-postgis`, `certbot`, `mailhog`, `minio` and more...! + +*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
@@ -159,7 +176,13 @@ Alternatively, for Windows PowerShell users: execute the following command to en docker exec -it {workspace-container-id} bash ``` -**Note:** You can add `--user=laradock` (example `docker-compose exec --user=laradock workspace bash`) to have files created as your host's user. (you can change the PUID (User id) and PGID (group id) variables from the `docker-compose.yml`). +**Note:** You can add `--user=laradock` to have files created as your host's user. Example: + +```shell +docker-compose exec --user=laradock workspace bash +``` + +*You can change the PUID (User id) and PGID (group id) variables from the `docker-compose.yml` or the `.env`)*
3 - Edit your project configurations. @@ -170,12 +193,7 @@ Open your `.env` file and set the `DB_HOST` to `mysql`: DB_HOST=mysql ``` -*If you want to use Laravel and you don't have it installed yet, see [How to Install Laravel in a Docker Container](#Install-Laravel).* +*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
-4 - Open your browser and visit your localhost address (`http://localhost/`). - -
-**Debugging**: if you are facing any problem here check the [Debugging](#debugging) section. - -If you need a special support. Contact me, more details in the [Help & Questions](#Help) section. +4 - Open your browser and visit your localhost address `http://localhost/`. diff --git a/docs/_settings/content/help/index.md b/docs/_settings/content/help/index.md index db758fd0..3f2342de 100644 --- a/docs/_settings/content/help/index.md +++ b/docs/_settings/content/help/index.md @@ -4,6 +4,6 @@ type: index weight: 5 --- -Join the chat room on [Gitter](https://gitter.im/LaraDock/laradock) and get help and support from the community. +Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. -You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/LaraDock/laradock). +You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock). diff --git a/docs/_settings/content/introduction/index.md b/docs/_settings/content/introduction/index.md index 463bf0b1..44ae7a70 100644 --- a/docs/_settings/content/introduction/index.md +++ b/docs/_settings/content/introduction/index.md @@ -4,11 +4,11 @@ type: index weight: 1 --- -LaraDock strives to make the PHP development experience easier and faster. +Laradock strives to make the PHP development experience easier and faster. It contains pre-packaged Docker Images that provides you a wonderful *development* environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines. -LaraDock is configured to run Laravel Apps by default, and it can be modified to run all kinds of PHP Apps (Symfony, CodeIgniter, WordPress, Drupal...). +Laradock is configured to run Laravel Apps by default, and it can be modified to run all kinds of PHP Apps (Symfony, CodeIgniter, WordPress, Drupal...). @@ -17,19 +17,25 @@ LaraDock is configured to run Laravel Apps by default, and it can be modified to Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `beanstalkd`: -1 - Clone LaraDock inside your PHP project: +1 - Clone Laradock inside your PHP project: ```shell git clone https://github.com/Laradock/laradock.git ``` -2 - Enter the laradock folder and run this command: +2 - Enter the laradock folder and rename `env-example` to `.env`. + +```shell +cp env-example .env +``` + +3 - Run your containers: ```shell docker-compose up -d nginx mysql redis beanstalkd ``` -3 - Open your `.env` file and set the following: +3 - Open your project's `.env` file and set the following: ```shell DB_HOST=mysql @@ -76,17 +82,17 @@ Most importantly Docker can run on Development and on Production (same environme -## LaraDock VS Homestead (For Laravel Developers) +## Laradock VS Homestead (For Laravel Developers) -> LaraDock It's like Laravel Homestead but for Docker instead of Vagrant. +> Laradock It's like Laravel Homestead but for Docker instead of Vagrant. -LaraDock and [Homestead](https://laravel.com/docs/master/homestead) both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System). +Laradock and [Homestead](https://laravel.com/docs/master/homestead) both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System). - Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine. -- LaraDock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers. +- Laradock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers. -Running a virtual container is much faster than running a full virtual Machine. Thus **LaraDock is much faster than Homestead**. +Running a virtual container is much faster than running a full virtual Machine. Thus **Laradock is much faster than Homestead**. @@ -100,10 +106,10 @@ Running a virtual container is much faster than running a full virtual Machine. What's better than a **Demo Video**: -- LaraDock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y) -- LaraDock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA) -- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI) -- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80) +- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y) +- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA) +- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI) +- Laradock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80) @@ -139,11 +145,12 @@ What's better than a **Demo Video**: - **Database Engines:** - MySQL - - PostgreSQL - MariaDB - MongoDB - Neo4j - RethinkDB + - PostgreSQL + - Postgres Postgis - **Cache Engines:** - Redis - Memcached @@ -165,6 +172,8 @@ What's better than a **Demo Video**: - PgAdmin - ElasticSearch - Selenium + - Certbot + - Mailhog - Minio - Workspace - PHP7-CLI @@ -194,4 +203,4 @@ What's better than a **Demo Video**: You are welcome to join our chat room on Gitter. -[![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) diff --git a/docs/_settings/content/related-projects/index.md b/docs/_settings/content/related-projects/index.md index f4b4a42c..b5c30959 100644 --- a/docs/_settings/content/related-projects/index.md +++ b/docs/_settings/content/related-projects/index.md @@ -4,10 +4,10 @@ type: index weight: 4 --- -LaraDock related projects: +Laradock related projects: -* [LaraDock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee) -* [LaraDock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart) +* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee) +* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart) * [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao) * [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim) These Docker Compose projects have piqued our interest: diff --git a/docs/contributing/index.html b/docs/contributing/index.html index 19bc73aa..b40742f2 100644 --- a/docs/contributing/index.html +++ b/docs/contributing/index.html @@ -317,7 +317,7 @@

Got a Question or Problem?

-

If you have questions about how to use LaraDock, please direct your questions to the discussion on Gitter. If you believe your question could help others, then consider opening an Issue (it will be labeled as Question).

+

If you have questions about how to use Laradock, please direct your questions to the discussion on Gitter. If you believe your question could help others, then consider opening an Issue (it will be labeled as Question).

Found an Issue?

@@ -371,7 +371,7 @@ submitting an Issue. E
  • Edit the files you want to update.

  • Note: If you want to edit the base image of the Workspace or the php-fpm Containers, -you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the LaraDock repository.

  • +you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the Laradock repository.

  • Make sure to update the Readme in case you made any changes.

  • diff --git a/docs/contributing/index.xml b/docs/contributing/index.xml index 94bad44d..934ec393 100644 --- a/docs/contributing/index.xml +++ b/docs/contributing/index.xml @@ -20,7 +20,7 @@ <h2 id="got-a-question-or-problem">Got a Question or Problem?</h2> -<p>If you have questions about how to use LaraDock, please direct your questions to the discussion on <a href="https://gitter.im/LaraDock/laradock">Gitter</a>. If you believe your question could help others, then consider opening an <a href="https://github.com/laradock/laradock/issues">Issue</a> (it will be labeled as Question).</p> +<p>If you have questions about how to use Laradock, please direct your questions to the discussion on <a href="https://gitter.im/Laradock/laradock">Gitter</a>. If you believe your question could help others, then consider opening an <a href="https://github.com/laradock/laradock/issues">Issue</a> (it will be labeled as Question).</p> <h2 id="found-an-issue">Found an Issue?</h2> @@ -74,7 +74,7 @@ submitting an <a href="https://github.com/laradock/laradock/issues"&g <li><p>Edit the files you want to update.</p></li> <li><p><strong>Note:</strong> If you want to edit the base image of the <code>Workspace</code> or the <code>php-fpm</code> Containers, -you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the LaraDock repository.</p></li> +you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the Laradock repository.</p></li> <li><p>Make sure to update the <code>Readme</code> in case you made any changes.</p></li> </ul> diff --git a/docs/documentation/index.html b/docs/documentation/index.html index 6f6830a1..e43cb4ed 100644 --- a/docs/documentation/index.html +++ b/docs/documentation/index.html @@ -577,7 +577,7 @@ xdebug.remote_connect_back=1

    By installing xDebug, you are enabling it to run on startup by default.

    -

    To control the behavior of xDebug (in the php-fpm Container), you can run the following commands from the LaraDock root folder, (at the same prompt where you run docker-compose):

    +

    To control the behavior of xDebug (in the php-fpm Container), you can run the following commands from the Laradock root folder, (at the same prompt where you run docker-compose):

    diff --git a/docs/documentation/index.xml b/docs/documentation/index.xml index 6eb19dd5..29310c57 100644 --- a/docs/documentation/index.xml +++ b/docs/documentation/index.xml @@ -280,7 +280,7 @@ xdebug.remote_connect_back=1 <p>By installing xDebug, you are enabling it to run on startup by default.</p> -<p>To control the behavior of xDebug (in the <code>php-fpm</code> Container), you can run the following commands from the LaraDock root folder, (at the same prompt where you run docker-compose):</p> +<p>To control the behavior of xDebug (in the <code>php-fpm</code> Container), you can run the following commands from the Laradock root folder, (at the same prompt where you run docker-compose):</p> <ul> <li>Stop xDebug from running by default: <code>./xdebugPhpFpm stop</code>.</li> @@ -320,11 +320,11 @@ xdebug.remote_connect_back=1 <a name="Production"></a></p> <p><br> -<a name="LaraDock-for-Production"></a></p> +<a name="Laradock-for-Production"></a></p> -<h2 id="prepare-laradock-for-production">Prepare LaraDock for Production</h2> +<h2 id="prepare-laradock-for-production">Prepare Laradock for Production</h2> -<p>It&rsquo;s recommended for production to create a custom <code>docker-compose.yml</code> file. For that reason, LaraDock is shipped with <code>production-docker-compose.yml</code> which should contain only the containers you are planning to run on production (usage example: <code>docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...</code>).</p> +<p>It&rsquo;s recommended for production to create a custom <code>docker-compose.yml</code> file. For that reason, Laradock is shipped with <code>production-docker-compose.yml</code> which should contain only the containers you are planning to run on production (usage example: <code>docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...</code>).</p> <p>Note: The Database (MySQL/MariaDB/&hellip;) ports should not be forwarded on production, because Docker will automatically publish the port on the host, which is quite insecure, unless specifically told not to. So make sure to remove these lines:</p> @@ -365,7 +365,7 @@ xdebug.remote_connect_back=1 <p>3 - Edit <code>docker-compose.yml</code> to Map the new application path:</p> -<p>By default, LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.</p> +<p>By default, Laradock assumes the Laravel application is living in the parent directory of the laradock folder.</p> <p>Since the new Laravel application is in the <code>my-cool-app</code> folder, we need to replace <code>../:/var/www</code> with <code>../my-cool-app/:/var/www</code>, as follow:</p> @@ -381,7 +381,7 @@ xdebug.remote_connect_back=1 <pre><code class="language-bash">cd my-cool-app </code></pre> -<p>5 - Go back to the LaraDock installation steps to see how to edit the <code>.env</code> file.</p> +<p>5 - Go back to the Laradock installation steps to see how to edit the <code>.env</code> file.</p> <p><br> <a name="Run-Artisan-Commands"></a></p> @@ -483,7 +483,7 @@ SESSION_DRIVER=redis <p>5 - You can manually test it from Laravel with this code:</p> -<pre><code class="language-php">\Cache::store('redis')-&gt;put('LaraDock', 'Awesome', 10); +<pre><code class="language-php">\Cache::store('redis')-&gt;put('Laradock', 'Awesome', 10); </code></pre> <p><br> @@ -750,7 +750,7 @@ A package (<a href="https://github.com/duxet/laravel-rethinkdb">La <h2 id="install-codeigniter">Install CodeIgniter</h2> -<p>To install CodeIgniter 3 on LaraDock all you have to do is the following simple steps:</p> +<p>To install CodeIgniter 3 on Laradock all you have to do is the following simple steps:</p> <p>1 - Open the <code>docker-compose.yml</code> file.</p> @@ -990,7 +990,7 @@ port=1234 <h2 id="common-terminal-aliases">Common Terminal Aliases</h2> -<p>When you start your docker container, LaraDock will copy the <code>aliases.sh</code> file located in the <code>laradock/workspace</code> directory and add sourcing to the container <code>~/.bashrc</code> file.</p> +<p>When you start your docker container, Laradock will copy the <code>aliases.sh</code> file located in the <code>laradock/workspace</code> directory and add sourcing to the container <code>~/.bashrc</code> file.</p> <p>You are free to modify the <code>aliases.sh</code> as you see fit, adding your own aliases (or function macros) to suit your requirements.</p> @@ -1065,12 +1065,12 @@ e) set it to <code>true</code></p> <p><a href="https://github.com/laradock/laradock/blob/master/_guides/phpstorm.md"><strong>Debugging Guide Here</strong></a></p> <p><br> -<a name="keep-tracking-LaraDock"></a></p> +<a name="keep-tracking-Laradock"></a></p> -<h2 id="keep-track-of-your-laradock-changes">Keep track of your LaraDock changes</h2> +<h2 id="keep-track-of-your-laradock-changes">Keep track of your Laradock changes</h2> <ol> -<li>Fork the LaraDock repository.</li> +<li>Fork the Laradock repository.</li> <li>Use that fork as a submodule.</li> <li>Commit all your changes to your fork.</li> <li>Pull new stuff from the main repository from time to time.</li> @@ -1079,15 +1079,15 @@ e) set it to <code>true</code></p> <p><br> <a name="upgrading-laradock"></a></p> -<h2 id="upgrading-laradock">Upgrading LaraDock</h2> +<h2 id="upgrading-laradock">Upgrading Laradock</h2> -<p>Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requires upgrading LaraDock from v3.* to v4.*:</p> +<p>Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requires upgrading Laradock from v3.* to v4.*:</p> <ol> <li>Stop the docker VM <code>docker-machine stop {default}</code></li> <li>Install Docker for <a href="https://docs.docker.com/docker-for-mac/">Mac</a> or <a href="https://docs.docker.com/docker-for-windows/">Windows</a>.</li> -<li>Upgrade LaraDock to <code>v4.*.*</code> (<code>git pull origin master</code>)</li> -<li>Use LaraDock as you used to do: <code>docker-compose up -d nginx mysql</code>.</li> +<li>Upgrade Laradock to <code>v4.*.*</code> (<code>git pull origin master</code>)</li> +<li>Use Laradock as you used to do: <code>docker-compose up -d nginx mysql</code>.</li> </ol> <p><strong>Note:</strong> If you face any problem with the last step above: rebuild all your containers @@ -1203,7 +1203,7 @@ e) set it to <code>true</code></p> <li>Option B <ol> -<li>Change the <code>DB_HOST</code> value to the same name as the MySQL docker container. The LaraDock docker-compose file currently has this as <code>mysql</code></li> +<li>Change the <code>DB_HOST</code> value to the same name as the MySQL docker container. The Laradock docker-compose file currently has this as <code>mysql</code></li> </ol></li> </ul> diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index 9285ff25..a93294df 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -324,24 +324,46 @@

    Choose the setup the best suits your needs.

    -

    A) Setup for Single Project:

    + -
    A.1) Setup environment in existing Project:
    +

    -

    (In case you already have a project, and you want to setup an environment to run it)

    +

    A) Setup for Single Project

    -

    1 - Clone this repository on your project root directory:

    +
    +

    (Follow these steps if you want a separate Docker environment for each project)

    +
    + +

    + +
    A.1) Already have a PHP project:
    + +
    +

    (Follow these steps if you already have a PHP project, and all you need is an environment to run it)

    +
    + +

    1 - Clone laradock on your project root directory:

    git submodule add https://github.com/Laradock/laradock.git
     
    -

    Note 1: If you are not yet using Git for your PHP project, you can use git clone https://github.com/Laradock/laradock.git instead.

    +

    Notes:

    -

    Note 2: To keep track of your LaraDock changes, between your projects and also keep LaraDock updated. Check this

    +
      +
    • If you are not using Git yet for your project, you can use git clone instead of git submodule.

    • -

      Note 3: In this case the folder structure will be like this:

      +
    • Note 2: To keep track of your Laradock changes, between your projects and also keep Laradock updated. Check this

    • +
    + +

    Your folder structure should look like this:

    - project1
     	- laradock
    @@ -349,16 +371,20 @@
     	- laradock
     
    -
    A.2) Setup environment first then create project:
    +

    -

    (In case you don’t have a project, and you want to create your project inside the Docker environment)

    +
    A.2) Don’t have a PHP project yet:
    + +
    +

    (Follow these steps if you don’t have a PHP project yet, and you need an environment to create the project)

    +

    1 - Clone this repository anywhere on your machine:

    git clone https://github.com/laradock/laradock.git
     
    -

    Note: In this case the folder structure will be like this:

    +

    Your folder structure should look like this:

    - projects
     	- laradock
    @@ -372,17 +398,22 @@
     
    docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
     
    +

    +

    B) Setup for Multiple Projects:

    +
    +

    (Follow these steps if you want a single Docker environment for all project)

    +
    +

    1 - Clone this repository anywhere on your machine:

    git clone https://github.com/laradock/laradock.git
     
    -

    2 - Edit the docker-compose.yml file to map to your projects directories:

    +

    2 - Edit the docker-compose.yml (or the .env) file to map to your projects directories:

        applications:
    -        image: tianon/true
             volumes:
                 - ../project1/:/var/www/project1
                 - ../project2/:/var/www/project2
    @@ -414,14 +445,14 @@
     

    If you are using Docker Toolbox (VM), do one of the following:


    -

    Warning: If you used an older version of LaraDock it’s highly recommended to rebuild the containers you need to use see how you rebuild a container in order to prevent errors as much as possible.

    +

    Warning: If you used an older version of Laradock it’s highly recommended to rebuild the containers you need to use see how you rebuild a container in order to prevent as much errors as possible.


    @@ -437,7 +468,9 @@

    You can select your own combination of Containers form the list below:

    -

    nginx, hhvm, php-fpm, mysql, redis, postgres, mariadb, neo4j, mongo, apache2, caddy, memcached, beanstalkd, beanstalkd-console, rabbitmq, workspace, phpmyadmin, aerospike, pgadmin, elasticsearch, rethinkdb.

    +

    nginx, hhvm, php-fpm, mysql, redis, postgres, mariadb, neo4j, mongo, apache2, caddy, memcached, beanstalkd, beanstalkd-console, rabbitmq, beanstalkd-console, workspace, phpmyadmin, aerospike, pgadmin, elasticsearch, rethinkdb, postgres-postgis, certbot, mailhog, minio and more…!

    + +

    (Please note that sometimes we forget to update the docs, so check the docker-compose.yml file to see an updated list of all available containers).


    2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …).

    @@ -450,7 +483,12 @@
    docker exec -it {workspace-container-id} bash
     
    -

    Note: You can add --user=laradock (example docker-compose exec --user=laradock workspace bash) to have files created as your host’s user. (you can change the PUID (User id) and PGID (group id) variables from the docker-compose.yml).

    +

    Note: You can add --user=laradock to have files created as your host’s user. Example:

    + +
    docker-compose exec --user=laradock workspace bash
    +
    + +

    You can change the PUID (User id) and PGID (group id) variables from the docker-compose.yml or the .env)


    3 - Edit your project configurations.

    @@ -460,15 +498,10 @@
    DB_HOST=mysql
     
    -

    If you want to use Laravel and you don’t have it installed yet, see How to Install Laravel in a Docker Container.

    +

    If you want to install Laravel as PHP project, see How to Install Laravel in a Docker Container.


    -4 - Open your browser and visit your localhost address (http://localhost/).

    - -


    -Debugging: if you are facing any problem here check the Debugging section.

    - -

    If you need a special support. Contact me, more details in the Help & Questions section.

    +4 - Open your browser and visit your localhost address http://localhost/.

    -

    Create Your LaraDock Containers

    +

    Create Your Laradock Containers

    $root@server:~/laravel/laradock# docker-compose up -d nginx mysql
     
    @@ -2144,7 +2144,7 @@ $root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
    • Clean House
    • -
    • LaraDock Dial Tone
    • +
    • Laradock Dial Tone
    • hosts
    • Firewall
    • Enable xDebug on php-fpm
    • @@ -2177,7 +2177,7 @@ $root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy

      Intro

      -

      Wiring up Laravel, LaraDock [Laravel+Docker] and PHPStorm to play nice together complete with remote xdebug’ing as icing on top! Although this guide is based on PHPStorm Windows, +

      Wiring up Laravel, Laradock [Laravel+Docker] and PHPStorm to play nice together complete with remote xdebug’ing as icing on top! Although this guide is based on PHPStorm Windows, you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.

      @@ -2188,7 +2188,7 @@ you should be able to adjust accordingly. This guide was written based on Docker
    • This guide assumes the following:
        -
      • you have already installed and are familiar with Laravel, LaraDock and PHPStorm.
      • +
      • you have already installed and are familiar with Laravel, Laradock and PHPStorm.
      • you have installed Laravel as a parent of laradock. This guide assumes /c/_dk/laravel.
    @@ -2268,7 +2268,7 @@ xdebug.cli_color=1

    Need to clean house first?

    -

    Make sure you are starting with a clean state. For example, do you have other LaraDock containers and images? +

    Make sure you are starting with a clean state. For example, do you have other Laradock containers and images? Here are a few things I use to clean things up.

      @@ -2277,7 +2277,7 @@ Here are a few things I use to clean things up.

    • Delete all images containing laradock. docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {} -Note: This will only delete images that were built with LaraDock, NOT laradock/* which are pulled down by LaraDock such as laradock/workspace, etc. +Note: This will only delete images that were built with Laradock, NOT laradock/* which are pulled down by Laradock such as laradock/workspace, etc. Note: Some may fail with: Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images

    • @@ -2296,7 +2296,7 @@ Here are a few things I use to clean things up.

      }
    -
  • If you frequently switch configurations for LaraDock, you may find that adding the following and added to your .bashrc or equivalent useful: +

  • If you frequently switch configurations for Laradock, you may find that adding the following and added to your .bashrc or equivalent useful: ```

    remove laravel* containers

    @@ -2327,7 +2327,7 @@ Here are a few things I use to clean things up.

    alias dcleanlaradock=dcleanlaradockfunction

    
    -<a name="InstallLaraDockDialTone"></a>
    +<a name="InstallLaradockDialTone"></a>
     ## Let's get a dial-tone with Laravel
     
     
    @@ -2357,7 +2357,7 @@ laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222-
    
     <a name="enablePhpXdebug"></a>
     ## Enable xDebug on php-fpm
    -In a host terminal sitting in the laradock folder, run: `./xdebugPhpFpm status`
    +In a host terminal sitting in the laradock folder, run: `.php-fpm/xdebug status`
     You should see something like the following:
     
    @@ -2368,7 +2368,7 @@ Copyright © 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright © 1998-2016 Zend Technologies with Xdebug v2.4.1, Copyright © 2002-2016, by Derick Rethans `` -Other commands include./xdebugPhpFpm start | stop`.

    +Other commands include
    .php-fpm/xdebug start | stop`.

    If you have enabled xdebug=true in docker-compose.yml/php-fpm, xdebug will already be running when php-fpm is started and listening for debug info on port 9000.

    @@ -2519,11 +2519,11 @@ Edit: C:\Windows\System32\drivers\etc\hosts.