From 4030cc2f2660b3e9e953abf75d9317aa85118189 Mon Sep 17 00:00:00 2001 From: philtrep Date: Sun, 9 Oct 2016 21:01:49 -0400 Subject: [PATCH 001/365] 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/365] 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/365] 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/365] 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/365] 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 2fc3919598b5a83e5e99b8c177dea36965cc49ce Mon Sep 17 00:00:00 2001 From: Edmund Luong Date: Sun, 1 Jan 2017 10:22:01 -0500 Subject: [PATCH 006/365] Added service container for Selenium standalone with Chrome (#519) * Added service container for Selenium standalone with Chrome --- README.md | 11 +++++++++++ docker-compose.yml | 7 +++++++ selenium/Dockerfile | 5 +++++ 3 files changed, 23 insertions(+) create mode 100644 selenium/Dockerfile diff --git a/README.md b/README.md index 0bbf9680..21a39336 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Use phpMyAdmin](#Use-phpMyAdmin) - [Use pgAdmin](#Use-pgAdmin) - [Use ElasticSearch](#Use-ElasticSearch) + - [Use Selenium](#Use-Selenium) - [CodeIgniter](#CodeIgniter): - [Install CodeIgniter](#Install-CodeIgniter) - [Misc](#Misc) @@ -1058,7 +1059,17 @@ docker exec {container-name} /usr/share/elasticsearch/bin/plugin install delete- docker restart {container-name} ``` +
+ +### Use Selenium +1 - Run the Selenium Container (`selenium`) with the `docker-compose up` command. Example: + +```bash +docker-compose up -d selenium +``` + +2 - Open your browser and visit the localhost on port **4444** at the following URL: `http://localhost:4444/wd/hub` diff --git a/docker-compose.yml b/docker-compose.yml index eec861e1..0e06bd81 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -324,6 +324,13 @@ services: links: - php-fpm +### Selenium Container ######################################### + + selenium: + build: ./selenium + ports: + - "4444:4444" + ### Volumes Setup ########################################### volumes: diff --git a/selenium/Dockerfile b/selenium/Dockerfile new file mode 100644 index 00000000..bc98b686 --- /dev/null +++ b/selenium/Dockerfile @@ -0,0 +1,5 @@ +FROM selenium/standalone-chrome + +MAINTAINER Edmund Luong + +EXPOSE 4444 \ No newline at end of file From 460b24f7eee8627dad73e9370f4d588ed6988436 Mon Sep 17 00:00:00 2001 From: iat <1329517386@qq.com> Date: Tue, 3 Jan 2017 09:27:45 +0800 Subject: [PATCH 007/365] Update README-zh.md --- README-zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-zh.md b/README-zh.md index 0fd49442..0ea0c0ea 100644 --- a/README-zh.md +++ b/README-zh.md @@ -469,7 +469,7 @@ composer create-project laravel/laravel my-cool-app "5.2.*" 系统默认LaraDock假定Laravel应用在LaraDock的父级目录中 By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder. -自新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下: +更新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下: ```yaml application: From c59dea37456aef4fec1d9224903687ad876ed38c Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Mon, 2 Jan 2017 20:41:00 -0500 Subject: [PATCH 008/365] add beanstalkd section and update the readme.md --- README.md | 984 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 596 insertions(+), 388 deletions(-) diff --git a/README.md b/README.md index 21a39336..ad258b2d 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,26 @@ Laradock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**. +>Use Docker first and learn about it later. + + + + + + + +## Intro + +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...). ->Use Docker first and learn about it later. + + + + ## Contents @@ -50,10 +67,12 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Run Artisan Commands](#Run-Artisan-Commands) - [Use Redis](#Use-Redis) - [Use Mongo](#Use-Mongo) - - [Use phpMyAdmin](#Use-phpMyAdmin) - - [Use pgAdmin](#Use-pgAdmin) + - [Use PhpMyAdmin](#Use-phpMyAdmin) + - [Use PgAdmin](#Use-pgAdmin) + - [Use Beanstalkd](#Use-Beanstalkd) - [Use ElasticSearch](#Use-ElasticSearch) - [Use Selenium](#Use-Selenium) + - [Use RethinkDB](#Use-RethinkDB) - [CodeIgniter](#CodeIgniter): - [Install CodeIgniter](#Install-CodeIgniter) - [Misc](#Misc) @@ -75,26 +94,40 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - -## Intro - -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. -**Usage Overview:** -Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Redis`. Then run `Laravel`. +### Quick Overview: + +Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `Beanstalkd`: + +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: + +```shell +docker-compose up -d nginx mysql redis beanstalkd +``` + +3 - Open your `.env` file and set the following: + +```shell +DB_HOST=mysql +REDIS_HOST=redis +QUEUE_HOST=beanstalkd +``` + +4 - Open your browser and visi localhost: `http://localhost`. + +```shell +That's it! enjoy :) +``` + -1. Get LaraDock inside your Laravel project: -
-`git clone https://github.com/LaraDock/laradock.git`. -2. Enter the laradock folder and run only these Containers: -
-`docker-compose up -d nginx mysql redis` -3. Open your `.env` file and set `DB_HOST` to `mysql` and `REDIS_HOST` to `redis`. -4. Open your browser and visit the localhost: `http://localdock` @@ -116,6 +149,10 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red - More to come every week.. + + + + ### Supported Software (Containers) @@ -138,14 +175,26 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red - PHP-FPM - HHVM - **Message Queueing Systems:** - - Beanstalkd (+ Beanstalkd Console) - - RabbitMQ (+ RabbitMQ Console) + - Beanstalkd + - Beanstalkd Console + - RabbitMQ + - RabbitMQ Console - **Tools:** - - Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, xDebug, Envoy, Vim...) - PhpMyAdmin - PgAdmin - ElasticSearch - + - Selenium + - Workspace + - PHP7-CLI + - Composer + - Git + - Node + - Gulp + - SQLite + - xDebug + - Envoy + - Vim + - ... Many other supported tools are not documented. (Will be updated soon) >If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :) @@ -153,12 +202,17 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red + ### What is Docker? [Docker](https://www.docker.com) is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of [operating-system-level virtualization](https://en.wikipedia.org/wiki/Operating-system-level_virtualization) on Linux, Mac OS and Windows. + + + + ### Why Docker not Vagrant!? @@ -171,6 +225,10 @@ In addition to the speed, Docker gives tons of features that cannot be achieved Most importantly Docker can run on Development and on Production (same environment everywhere). While Vagrant is designed for Development only, (so you have to re-provision your server on Production every time). + + + + ### Laradock VS Homestead (For Laravel Developers) @@ -188,6 +246,7 @@ Running a virtual Container is much faster than running a full virtual Machine. + ## Demo Video @@ -200,6 +259,9 @@ What's better than a **Demo Video**: + + + ## Requirements @@ -208,6 +270,9 @@ What's better than a **Demo Video**: + + + ## Installation @@ -303,10 +368,10 @@ Do the same for each project `project2.conf`, `project3.conf`,... + ## Usage - **Read Before starting:** If you are using **Docker Toolbox** (VM), do one of the following: @@ -335,9 +400,7 @@ 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`. - - +`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`.
@@ -354,8 +417,6 @@ 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`). - -
3 - Edit your project configurations. @@ -367,30 +428,35 @@ 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).* - - -
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. + + + +
## Documentation + + + + + + ### List current running Containers ```bash @@ -406,6 +472,7 @@ docker-compose ps +
### Close all running Containers @@ -436,7 +503,6 @@ docker-compose down -
### Enter a Container (run commands in a running Container) @@ -462,7 +528,6 @@ docker-compose exec mysql bash -
### Edit default container configuration @@ -491,8 +556,6 @@ Change Redis defaut port to 1111: - -
### Edit a Docker Image @@ -515,8 +578,6 @@ More info on Containers rebuilding [here](#Build-Re-build-Containers). - -
### Build/Re-build Containers @@ -538,6 +599,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo +
### Add more Software (Docker Images) @@ -549,9 +611,6 @@ To add an image (software), just edit the `docker-compose.yml` and add your cont - - -
### View the Log files @@ -568,8 +627,6 @@ docker logs {container-name} - -
@@ -592,9 +649,6 @@ The PHP-CLI extensions should be installed in `workspace/Dockerfile`. - - -
### Change the (PHP-FPM) Version @@ -602,6 +656,7 @@ By default **PHP-FPM 7.0** is running. >The PHP-FPM is responsible of serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version. + #### A) Switch from PHP `7.0` to PHP `5.6` 1 - Open the `docker-compose.yml`. @@ -648,12 +703,6 @@ We do not natively support PHP 5.5 anymore, but you can get it in few steps: - - - - - -
### Change the PHP-CLI Version @@ -668,6 +717,8 @@ Right now you have to manually edit the `Dockerfile` or create a new one like it + +
### Install xDebug @@ -714,6 +765,10 @@ xdebug.remote_connect_back=1 For information on how to configure xDebug with your IDE and work it out, check this [Repository](https://github.com/LarryEitel/laravel-laradock-phpstorm). + + + +
### Start/Stop xDebug: @@ -730,12 +785,15 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the +
+ +
### Prepare LaraDock for Production @@ -767,19 +825,14 @@ To learn more about how Docker publishes ports, please read [this excellent post - - - - - - -
+ + ### Install Laravel from a Docker Container @@ -821,6 +874,9 @@ cd my-cool-app + + +
### Run Artisan Commands @@ -860,6 +916,11 @@ Composer update phpunit ``` + + + + +
### Use Redis @@ -912,6 +973,7 @@ composer require predis/predis:^1.0 +
### Use Mongo @@ -1005,7 +1067,7 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins
-### Use phpMyAdmin +### Use PhpMyAdmin 1 - Run the phpMyAdmin Container (`phpmyadmin`) with the `docker-compose up` command. Example: @@ -1020,9 +1082,13 @@ docker-compose up -d mariadb phpmyadmin 2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` + + + +
-### Use pgAdmin +### Use PgAdmin 1 - Run the pgAdmin Container (`pgadmin`) with the `docker-compose up` command. Example: @@ -1033,11 +1099,57 @@ docker-compose up -d postgres pgadmin 2 - Open your browser and visit the localhost on port **5050**: `http://localhost:5050` + + + + +
+ +### Use Beanstalkd + +1 - Run the Beanstalkd Container: + +```bash +docker-compose up -d beanstalkd +``` + +2 - Configure Laravel to connect to that container by editing the `config/queue.php` config file. + +a. first set `beanstalkd` as default queue driver +b. set the queue host to beanstalkd : `QUEUE_HOST=beanstalkd` + +*beanstalkd is now available on default port `11300`.* + +3 - Require the dependecy package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer. + + +Optionally you can use the Beanstalkd Console Container to manage your Queues from a web interface. + +1 - Run the Beanstalkd Console Container: + +```bash +docker-compose up -d beanstalkd-console +``` + +2 - Open your browser and visit `http://localhost:2080/` + +3 - Add the server + +- Host: beanstalkd +- Port: 11300 + +4 - Done. + + + + + +
### Use ElasticSearch -1 - Run the ElasticSearch Container (`elasticsearch`) with the `docker-compose up` command. Example: +1 - Run the ElasticSearch Container (`elasticsearch`) with the `docker-compose up` command: ```bash docker-compose up -d elasticsearch @@ -1045,7 +1157,8 @@ docker-compose up -d elasticsearch 2 - Open your browser and visit the localhost on port **9200**: `http://localhost:9200` -### Install ElasticSearch Plugin + +#### Install ElasticSearch Plugin 1 - Install the ElasticSearch plugin like [delete-by-query](https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugins-delete-by-query.html). @@ -1059,6 +1172,11 @@ docker exec {container-name} /usr/share/elasticsearch/bin/plugin install delete- docker restart {container-name} ``` + + + + +
### Use Selenium @@ -1076,301 +1194,9 @@ docker-compose up -d selenium - -
- -
- - - - -### Install CodeIgniter - -To install CodeIgniter 3 on Laradock all you have to do is the following simple steps: - -1 - Open the `docker-compose.yml` file. - -2 - Change `CODEIGNITER=false` to `CODEIGNITER=true`. - -3 - Re-build your PHP-FPM Container `docker-compose build php-fpm`. - - - - - - -
- - - - - - -
- - -### Change the timezone - -To change the timezone for the `workspace` container, modify the `TZ` build argument in the Docker Compose file to one in the [TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). - -For example, if I want the timezone to be `New York`: - -```yml - workspace: - build: - context: ./workspace - args: - - TZ=America/New_York - ... -``` - -We also recommend [setting the timezone in Laravel](http://www.camroncade.com/managing-timezones-with-laravel/). - - -### Adding cron jobs - -You can add your cron jobs to `workspace/crontab/root` after the `php artisan` line. - -``` -* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1 - -# Custom cron -* * * * * root echo "Every Minute" > /var/log/cron.log 2>&1 -``` - -Make sure you [change the timezone](#Change-the-timezone) if you don't want to use the default (UTC). - - -### Access workspace via ssh - -You can access the `workspace` container through `localhost:2222` by setting the `INSTALL_WORKSPACE_SSH` build argument to `true`. - -To change the default forwarded port for ssh: - -```yml - workspace: - ports: - - "2222:22" # Edit this line - ... -``` - - -### MySQL access from host - -You can forward the MySQL/MariaDB port to your host by making sure these lines are added to the `mysql` or `mariadb` section of the `docker-compose.yml` or in your [environment specific Compose](https://docs.docker.com/compose/extends/) file. - -``` -ports: - - "3306:3306" -``` - - -### MySQL root access - -The default username and password for the root mysql user are `root` and `root `. - -1 - Enter the mysql contaier: `docker-compose exec mysql bash`. - -2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`. - -3 - See all users: `SELECT User FROM mysql.user;` - -4 - Run any commands `show databases`, `show tables`, `select * from.....`. - - - -### Change MySQL port - -Modify the `mysql/my.cnf` file to set your port number, `1234` is used as an example. - -``` -[mysqld] -port=1234 -``` - -If you need MySQL access from your host, do not forget to change the internal port number (`"3306:3306"` -> `"3306:1234"`) in the docker-compose configuration file. - - -### Use custom Domain (instead of the Docker IP) - -Assuming your custom domain is `laravel.dev` - -1 - Open your `/etc/hosts` file and map your localhost address `127.0.0.1` to the `laravel.dev` domain, by adding the following: - -```bash -127.0.0.1 laravel.dev -``` - -2 - Open your browser and visit `{http://laravel.dev}` - - -Optionally you can define the server name in the nginx configuration file, like this: - -```conf -server_name laravel.dev; -``` - - - -
- -### Enable Global Composer Build Install - -Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done. - -1 - Open the `docker-compose.yml` file - -2 - Search for the `COMPOSER_GLOBAL_INSTALL` argument under the Workspace Container and set it to `true` - -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - COMPOSER_GLOBAL_INSTALL=true - ... -``` -3 - Now add your dependencies to `workspace/composer.json` - -4 - Re-build the Workspace Container `docker-compose build workspace` - - - - -
- -### Install Prestissimo - -[Prestissimo](https://github.com/hirak/prestissimo) is a plugin for composer which enables parallel install functionality. - -1 - Enable Running Global Composer Install during the Build: - -Click on this [Enable Global Composer Build Install](#Enable-Global-Composer-Build-Install) and do steps 1 and 2 only then continue here. - -2 - Add prestissimo as requirement in Composer: - -a - Now open the `workspace/composer.json` file - -b - Add `"hirak/prestissimo": "^0.3"` as requirement - -c - Re-build the Workspace Container `docker-compose build workspace` - - - - -
- -### Install Node + NVM - -To install NVM and NodeJS in the Workspace container - -1 - Open the `docker-compose.yml` file - -2 - Search for the `INSTALL_NODE` argument under the Workspace Container and set it to `true` - -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - INSTALL_NODE=true - ... -``` - -3 - Re-build the container `docker-compose build workspace` - -
- -### Install Node + YARN - -Yarn is a new package manager for JavaScript. It is so faster than npm, which you can find [here](http://yarnpkg.com/en/compare).To install NodeJS and [Yarn](https://yarnpkg.com/) in the Workspace container: - -1 - Open the `docker-compose.yml` file - -2 - Search for the `INSTALL_NODE` and `INSTALL_YARN` argument under the Workspace Container and set it to `true` - -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - INSTALL_NODE=true - - INSTALL_YARN=true - ... -``` - -3 - Re-build the container `docker-compose build workspace` - -
- -### Install Aerospike extension - -1 - First install `aerospike` in the Workspace and the PHP-FPM Containers: -
-a) open the `docker-compose.yml` file -
-b) search for the `INSTALL_AEROSPIKE_EXTENSION` argument under the Workspace Container -
-c) set it to `true` -
-d) search for the `INSTALL_AEROSPIKE_EXTENSION` argument under the PHP-FPM Container -
-e) set it to `true` - -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - INSTALL_AEROSPIKE_EXTENSION=true - ... - php-fpm: - build: - context: ./php-fpm - args: - - INSTALL_AEROSPIKE_EXTENSION=true - ... -``` - -2 - Re-build the containers `docker-compose build workspace php-fpm` - -
- -### Install Laravel Envoy (Envoy Task Runner) - -1 - Open the `docker-compose.yml` file -
-2 - Search for the `INSTALL_LARAVEL_ENVOY` argument under the Workspace Container -
-3 - Set it to `true` -
- -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - INSTALL_LARAVEL_ENVOY=true - ... -``` - -4 - Re-build the containers `docker-compose build workspace` - -####[Laravel Envoy Documentation Here](https://laravel.com/docs/5.3/envoy) -
-### Use RethinkDB Container +### Use RethinkDB The RethinkDB is an open-source Database for Real-time Web ([RethinkDB](https://rethinkdb.com/)). A package ([Laravel RethinkDB](https://github.com/duxet/laravel-rethinkdb)) is being developed and was released a version for Laravel 5.2 (experimental). @@ -1408,9 +1234,375 @@ docker-compose up -d rethinkdb - set the `DB_PORT` to `28015`. - set the `DB_DATABASE` to `database`. + + + + + +
+ + + + + + + +
+ +### Install CodeIgniter + +To install CodeIgniter 3 on Laradock all you have to do is the following simple steps: + +1 - Open the `docker-compose.yml` file. + +2 - Change `CODEIGNITER=false` to `CODEIGNITER=true`. + +3 - Re-build your PHP-FPM Container `docker-compose build php-fpm`. + + + + + + +
+ + + + + + + +
+ +### Change the timezone + +To change the timezone for the `workspace` container, modify the `TZ` build argument in the Docker Compose file to one in the [TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +For example, if I want the timezone to be `New York`: + +```yml + workspace: + build: + context: ./workspace + args: + - TZ=America/New_York + ... +``` + +We also recommend [setting the timezone in Laravel](http://www.camroncade.com/managing-timezones-with-laravel/). + + + + + + +
+ +### Adding cron jobs + +You can add your cron jobs to `workspace/crontab/root` after the `php artisan` line. + +``` +* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1 + +# Custom cron +* * * * * root echo "Every Minute" > /var/log/cron.log 2>&1 +``` + +Make sure you [change the timezone](#Change-the-timezone) if you don't want to use the default (UTC). + + + + + + +
+ +### Access workspace via ssh + +You can access the `workspace` container through `localhost:2222` by setting the `INSTALL_WORKSPACE_SSH` build argument to `true`. + +To change the default forwarded port for ssh: + +```yml + workspace: + ports: + - "2222:22" # Edit this line + ... +``` + + + + + + +
+ +### MySQL access from host + +You can forward the MySQL/MariaDB port to your host by making sure these lines are added to the `mysql` or `mariadb` section of the `docker-compose.yml` or in your [environment specific Compose](https://docs.docker.com/compose/extends/) file. + +``` +ports: + - "3306:3306" +``` + + + + + + +
+ +### MySQL root access + +The default username and password for the root mysql user are `root` and `root `. + +1 - Enter the mysql contaier: `docker-compose exec mysql bash`. + +2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`. + +3 - See all users: `SELECT User FROM mysql.user;` + +4 - Run any commands `show databases`, `show tables`, `select * from.....`. + + + + + + +
+ +### Change MySQL port + +Modify the `mysql/my.cnf` file to set your port number, `1234` is used as an example. + +``` +[mysqld] +port=1234 +``` + +If you need MySQL access from your host, do not forget to change the internal port number (`"3306:3306"` -> `"3306:1234"`) in the docker-compose configuration file. + + + + + + +
+ +### Use custom Domain (instead of the Docker IP) + +Assuming your custom domain is `laravel.dev` + +1 - Open your `/etc/hosts` file and map your localhost address `127.0.0.1` to the `laravel.dev` domain, by adding the following: + +```bash +127.0.0.1 laravel.dev +``` + +2 - Open your browser and visit `{http://laravel.dev}` + + +Optionally you can define the server name in the nginx configuration file, like this: + +```conf +server_name laravel.dev; +``` + + + + + + +
+ +### Enable Global Composer Build Install + +Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done. + +1 - Open the `docker-compose.yml` file + +2 - Search for the `COMPOSER_GLOBAL_INSTALL` argument under the Workspace Container and set it to `true` + +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - COMPOSER_GLOBAL_INSTALL=true + ... +``` +3 - Now add your dependencies to `workspace/composer.json` + +4 - Re-build the Workspace Container `docker-compose build workspace` + + + + + + +
+ +### Install Prestissimo + +[Prestissimo](https://github.com/hirak/prestissimo) is a plugin for composer which enables parallel install functionality. + +1 - Enable Running Global Composer Install during the Build: + +Click on this [Enable Global Composer Build Install](#Enable-Global-Composer-Build-Install) and do steps 1 and 2 only then continue here. + +2 - Add prestissimo as requirement in Composer: + +a - Now open the `workspace/composer.json` file + +b - Add `"hirak/prestissimo": "^0.3"` as requirement + +c - Re-build the Workspace Container `docker-compose build workspace` + + + + + + +
+ +### Install Node + NVM + +To install NVM and NodeJS in the Workspace container + +1 - Open the `docker-compose.yml` file + +2 - Search for the `INSTALL_NODE` argument under the Workspace Container and set it to `true` + +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_NODE=true + ... +``` + +3 - Re-build the container `docker-compose build workspace` + + + + + + +
+ +### Install Node + YARN + +Yarn is a new package manager for JavaScript. It is so faster than npm, which you can find [here](http://yarnpkg.com/en/compare).To install NodeJS and [Yarn](https://yarnpkg.com/) in the Workspace container: + +1 - Open the `docker-compose.yml` file + +2 - Search for the `INSTALL_NODE` and `INSTALL_YARN` argument under the Workspace Container and set it to `true` + +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_NODE=true + - INSTALL_YARN=true + ... +``` + +3 - Re-build the container `docker-compose build workspace` + + + + + + +
+ +### Install Aerospike extension + +1 - First install `aerospike` in the Workspace and the PHP-FPM Containers: +
+a) open the `docker-compose.yml` file +
+b) search for the `INSTALL_AEROSPIKE_EXTENSION` argument under the Workspace Container +
+c) set it to `true` +
+d) search for the `INSTALL_AEROSPIKE_EXTENSION` argument under the PHP-FPM Container +
+e) set it to `true` + +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_AEROSPIKE_EXTENSION=true + ... + php-fpm: + build: + context: ./php-fpm + args: + - INSTALL_AEROSPIKE_EXTENSION=true + ... +``` + +2 - Re-build the containers `docker-compose build workspace php-fpm` + + + + + + +
+ +### Install Laravel Envoy (Envoy Task Runner) + +1 - Open the `docker-compose.yml` file +
+2 - Search for the `INSTALL_LARAVEL_ENVOY` argument under the Workspace Container +
+3 - Set it to `true` +
+ +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_LARAVEL_ENVOY=true + ... +``` + +4 - Re-build the containers `docker-compose build workspace` + +####[Laravel Envoy Documentation Here](https://laravel.com/docs/5.3/envoy) + + + + + +
+ + + + + ### PHPStorm Remote debug Laravel web and phpunit tests. @@ -1420,13 +1612,20 @@ Remote debug Laravel web and phpunit tests.
+ + + + + ### Miscellaneous - *Here's a list of the common problems you might face, and the possible solutions.* + + + #### I see a blank (white) page instead of the Laravel 'Welcome' page! Run the following command from the Laravel root directory: @@ -1436,18 +1635,28 @@ sudo chmod -R 777 storage bootstrap/cache ``` + + + + #### I see "Welcome to nginx" instead of the Laravel App! Use `http://127.0.0.1` instead of `http://localhost` in your browser. + + + #### I see an error message containing `address already in use` or `port is already allocated` Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed. + + + #### I get Nginx error 404 Not Found on Windows. 1. Go to docker Settings on your Windows machine. @@ -1455,6 +1664,11 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33 3. Enter your windows username and password. 4. Go to the `reset` tab and click restart docker. + + + + + #### I get Mysql connection refused This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it: @@ -1468,11 +1682,12 @@ This error sometimes happens because your Laravel application isn't running on t + +
### Upgrading LaraDock - 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}` @@ -1489,7 +1704,6 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ -
## Contributing @@ -1497,6 +1711,11 @@ This little project was built by one man who has a full time job and many respon #### Read the [Contribution Guidelines](https://github.com/LaraDock/laradock/blob/master/CONTRIBUTING.md). + + + + +
## Related Projects @@ -1514,6 +1733,11 @@ These Docker Compose projects have piqued our interest: If you want your project listed here, please open an issue. + + + + +
## Help & Questions @@ -1527,41 +1751,25 @@ For special help with Docker and/or Laravel, you can schedule a live call with t + + ## Credits -**Creator:** - -- [Mahmoud Zalt](https://github.com/Mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ] - -**Admins:** +**Super Admins:** +- [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ] - [Bo-Yi Wu](https://github.com/appleboy) (appleboy) - [Philippe Trépanier](https://github.com/philtrep) (philtrep) +- YOU?! Join Us. -**Main Contributors:** - -- [Francis Lavoie](https://github.com/francislavoie) (francislavoie) -- [luciano-jr](https://github.com/luciano-jr) -- [Zhqagp](https://github.com/zhqagp) -- [Tim B.](https://github.com/tjb328) (tjb328) -- [MidasCodeBreaker](https://github.com/midascodebreaker) -- [Larry Eitel](https://github.com/LarryEitel) -- [Suteepat](https://github.com/tianissimo) (tianissimo) -- [David](https://github.com/davidavz) (davidavz) -- [Lialosiu](https://github.com/lialosiu) -- [Eric Pfeiffer](https://github.com/computerfr33k) (computerfr33k) -- [Orette](https://github.com/orette) -- [Jack Fletcher](https://github.com/Kauhat) (Kauhat) -- [Amin Mkh](https://github.com/AminMkh) -- [Matthew Tonkin Dunn](https://github.com/mattythebatty) (mattythebatty) -- [Zhivitsa Kirill](https://github.com/zhikiri) (zhikiri) -- [Benmag](https://github.com/benmag) -- [Cristian Mello](https://github.com/cristiancmello) (cristiancmello) - -**Other Contributors & Supporters:** +**Amazing Contributors:** - [Contributors](https://github.com/LaraDock/laradock/graphs/contributors) -- [Supporters](https://github.com/LaraDock/laradock/issues?utf8=%E2%9C%93&q=) + + + + + ## License From b569765f8280169a173cfd41af3d524837c46569 Mon Sep 17 00:00:00 2001 From: Edmund Luong Date: Sat, 7 Jan 2017 11:35:59 -0500 Subject: [PATCH 009/365] Add .env file for converting Windows paths to resolve issues with Docker Compose in Docker Toolbox (#531) --- .env | 1 + .gitignore | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .env 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 From 721e04370fef8ad76418d45f510bb01143b3cc6b Mon Sep 17 00:00:00 2001 From: TJ Date: Tue, 10 Jan 2017 16:34:55 -0500 Subject: [PATCH 010/365] Updated Crontab for Workspace (#538) - Crontab now gets added to `/etc/cron.d` - Base crontab now runs as the `laradock` user This update resolves #459. --- workspace/Dockerfile | 2 +- workspace/crontab/laradock | 1 + workspace/crontab/root | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 workspace/crontab/laradock delete mode 100644 workspace/crontab/root diff --git a/workspace/Dockerfile b/workspace/Dockerfile index c64ac773..8167c998 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -79,7 +79,7 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \ ##################################### USER root -COPY ./crontab /var/spool/cron/crontabs +COPY ./crontab /etc/cron.d ##################################### # xDebug: diff --git a/workspace/crontab/laradock b/workspace/crontab/laradock new file mode 100644 index 00000000..c807cf4d --- /dev/null +++ b/workspace/crontab/laradock @@ -0,0 +1 @@ +* * * * * laradock php /var/www/artisan schedule:run >> /dev/null 2>&1 diff --git a/workspace/crontab/root b/workspace/crontab/root deleted file mode 100644 index db972b14..00000000 --- a/workspace/crontab/root +++ /dev/null @@ -1 +0,0 @@ -* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1 From 14f6dffe99da546cdb33a85ed3d9e7a0b0c2bf14 Mon Sep 17 00:00:00 2001 From: hexu Date: Thu, 12 Jan 2017 18:47:11 +0800 Subject: [PATCH 011/365] Fix bug on mariadb Bug on Docker for Mac when we change the database from mysql to mariadb. Maybe It is not a perfect fix. This fix will not share the same mysql volume, means we could not change database directly. We have to import the database to both database. But it will fix the Bug . Wish for better solution --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0e06bd81..d728dca2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -135,7 +135,7 @@ services: mariadb: build: ./mariadb volumes: - - mysql:/var/lib/mysql + - mariadb:/var/lib/mysql ports: - "3306:3306" environment: From f1cd4bb0e2222b19029052bf232f6348f048f684 Mon Sep 17 00:00:00 2001 From: g0ld3lux Date: Fri, 13 Jan 2017 08:06:08 +0800 Subject: [PATCH 012/365] added phpredis in dockerfile70 (#546) --- php-fpm/Dockerfile-70 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index a00d627f..c389efc8 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -60,6 +60,17 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ docker-php-ext-enable xdebug \ ;fi +##################################### +# PHP REDIS EXTENSION FOR PHP 7.0 +##################################### +ARG INSTALL_PHPREDIS=false +RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ + # Install Php Redis Extension + RUN pecl install -o -f redis \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable redis +;fi + # Copy xdebug configration for remote debugging COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini From 6c55f47fd492ed69147864649a0c90ef03745b75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Tr=C3=A9panier?= Date: Thu, 12 Jan 2017 19:26:29 -0500 Subject: [PATCH 013/365] Added instructions on how to fix time lag, this fixes #372, #462 (#547) --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index ad258b2d..dfacfcb4 100644 --- a/README.md +++ b/README.md @@ -1667,6 +1667,12 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33 +#### The time in my services does not match the current time + +1. Make sure you've [changed the timezone](#Change-the-timezone). +2. Stop and rebuild the containers (`docker-compose up -d --build `) + + #### I get Mysql connection refused From a8120a1c466dd4fbb5ecab90b9c24636f3d28d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AE=A1=E5=AE=9C=E5=B0=A7?= Date: Fri, 13 Jan 2017 15:06:35 +0800 Subject: [PATCH 014/365] bugfix for phpredis configuration bugfix for phpredis configuration --- php-fpm/Dockerfile-70 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index c389efc8..32e69663 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -68,7 +68,7 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ # Install Php Redis Extension RUN pecl install -o -f redis \ && rm -rf /tmp/pear \ - && docker-php-ext-enable redis + && docker-php-ext-enable redis \ ;fi # Copy xdebug configration for remote debugging From ad5883cdfd3b77684230ac36b5009003270b0a10 Mon Sep 17 00:00:00 2001 From: FalAngelSt Date: Fri, 13 Jan 2017 15:53:23 +0200 Subject: [PATCH 015/365] fixed redis php extension instalation bug remove unnecessary RUN command --- php-fpm/Dockerfile-70 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 32e69663..0e507311 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -66,7 +66,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ ARG INSTALL_PHPREDIS=false RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ # Install Php Redis Extension - RUN pecl install -o -f redis \ + pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis \ ;fi From a80ef301a98f384d3d3c70ace43463cbbc2e46d6 Mon Sep 17 00:00:00 2001 From: Mike Erickson Date: Fri, 13 Jan 2017 11:12:44 -0800 Subject: [PATCH 016/365] 541-add-linuxbrew-option (#543) * 541-add-linuxbrew-option * 541 updated readme with installation information --- README.md | 53 ++++++++++++++++++++++++++++++++++---------- docker-compose.yml | 5 +++-- workspace/Dockerfile | 33 +++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index dfacfcb4..28c3ea51 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -Laradock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**. +Laradock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**. >Use Docker first and learn about it later. @@ -87,6 +87,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install Prestissimo](#Install-Prestissimo) - [Install Node + NVM](#Install-Node) - [Install Node + YARN](#Install-Yarn) + - [Install Linuxbrew](#Install-Brew) - [Debugging](#debugging) - [Upgrading LaraDock](#upgrading-laradock) - [Related Projects](#related-projects) @@ -101,13 +102,13 @@ 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 run this command: ```shell docker-compose up -d nginx mysql redis beanstalkd @@ -316,7 +317,7 @@ Note: In this case the folder structure will be like this: - myProject ``` -2 - Edit the `docker-compose.yml` file to map to your project directory once you have it (example: `- ../myProject:/var/www`). +2 - Edit the `docker-compose.yml` file to map to your project directory once you have it (example: `- ../myProject:/var/www`). 3 - Stop and re-run your docker-compose command for the changes to take place. @@ -798,7 +799,7 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the ### 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 exampe: `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 exampe: `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: @@ -1213,15 +1214,15 @@ docker-compose up -d rethinkdb ```php 'connections' => [ - + 'rethinkdb' => [ 'name' => 'rethinkdb', 'driver' => 'rethinkdb', 'host' => env('DB_HOST', 'rethinkdb'), 'port' => env('DB_PORT', 28015), - 'database' => env('DB_DATABASE', 'test'), + 'database' => env('DB_DATABASE', 'test'), ] - + // ... ], @@ -1319,7 +1320,7 @@ Make sure you [change the timezone](#Change-the-timezone) if you don't want to u
### Access workspace via ssh - + You can access the `workspace` container through `localhost:2222` by setting the `INSTALL_WORKSPACE_SSH` build argument to `true`. To change the default forwarded port for ssh: @@ -1378,7 +1379,7 @@ The default username and password for the root mysql user are `root` and `root ` Modify the `mysql/my.cnf` file to set your port number, `1234` is used as an example. ``` -[mysqld] +[mysqld] port=1234 ``` @@ -1524,6 +1525,34 @@ It should be like this: +
+ +### Install Linuxbrew + +Linuxbrew is a package manager for Linux. It is the Linux version of MacOS Homebrew and can be found [here](http://linuxbrew.sh). To install Linuxbrew in the Workspace container: + +1 - Open the `docker-compose.yml` file + +2 - Search for the `INSTALL_LINUXBREW` argument under the Workspace Container and set it to `true` + +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_LINUXBREW=true + ... +``` + +3 - Re-build the container `docker-compose build workspace` + + + + + +
### Install Aerospike extension @@ -1659,7 +1688,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33 #### I get Nginx error 404 Not Found on Windows. -1. Go to docker Settings on your Windows machine. +1. Go to docker Settings on your Windows machine. 2. Click on the `Shared Drives` tab and check the drive that contains your project files. 3. Enter your windows username and password. 4. Go to the `reset` tab and click restart docker. @@ -1701,7 +1730,7 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ 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 +**Note:** If you face any problem with the last step above: rebuild all your containers `docker-compose build --no-cache` "Warnning Containers Data might be lost!" diff --git a/docker-compose.yml b/docker-compose.yml index d728dca2..d4f9604e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,6 +26,7 @@ services: - COMPOSER_GLOBAL_INSTALL=false - INSTALL_WORKSPACE_SSH=false - INSTALL_LARAVEL_ENVOY=false + - INSTALL_LINUXBREW=false - PUID=1000 - PGID=1000 - NODE_VERSION=stable @@ -118,7 +119,7 @@ services: ### MySQL Container ######################################### mysql: - build: + build: context: ./mysql args: - MYSQL_DATABASE=homestead @@ -190,7 +191,7 @@ services: - "27017:27017" volumes: - mongo:/data/db - + ### RethinkDB Container ####################################### rethinkdb: diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 8167c998..46e1f850 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -291,6 +291,39 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ && composer global require "laravel/envoy=~1.0" \ ;fi +##################################### +# Linuxbrew: +##################################### +USER root + +ARG INSTALL_LINUXBREW=true +ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW} + +RUN if [ ${INSTALL_LINUXBREW} = true ]; then \ + + # Preparation + apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y build-essential make cmake scons curl git \ + ruby autoconf automake autoconf-archive \ + gettext libtool flex bison \ + libbz2-dev libcurl4-openssl-dev \ + libexpat-dev libncurses-dev && \ + + # Install the Linuxbrew + git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \ + + echo "" >> ~/.bashrc && \ + echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \ + + # Setup linuxbrew + echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \ + echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \ + echo 'export MANPATH="$LINUXBREWHOME/man:$MANPATH"' >> ~/.bashrc && \ + echo 'export PKG_CONFIG_PATH="$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \ + echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \ +;fi + # #-------------------------------------------------------------------------- # Final Touch From 4c8e09526df080f5fb891eecc0c3f00ff50410fb Mon Sep 17 00:00:00 2001 From: TJ Date: Mon, 16 Jan 2017 11:10:49 -0500 Subject: [PATCH 017/365] Fix Workspace Cron Permissions (#555) When I submitted #538 it looks like I overlooked the crontab file permissions for the Laradock user. This change ensure that all crons added during build are set to the correct permission level. --- workspace/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 46e1f850..e961f495 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -80,6 +80,7 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \ USER root COPY ./crontab /etc/cron.d +RUN chmod -R 644 /etc/cron.d ##################################### # xDebug: From b52dcd4a1940444e3915babafa5e4cd53a1eda3c Mon Sep 17 00:00:00 2001 From: Mike Erickson Date: Tue, 17 Jan 2017 16:09:05 -0800 Subject: [PATCH 018/365] 540 added alias support (#557) * 540 added alias support * Updated aliases, added content to README.md --- README.md | 19 ++++++++++-- workspace/Dockerfile | 11 +++++++ workspace/aliases.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 workspace/aliases.sh diff --git a/README.md b/README.md index 28c3ea51..d56a8572 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,8 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install Prestissimo](#Install-Prestissimo) - [Install Node + NVM](#Install-Node) - [Install Node + YARN](#Install-Yarn) - - [Install Linuxbrew](#Install-Brew) + - [Install Linuxbrew](#Install-Linuxbrew) + - [Common Terminal Aliases](#Common-Aliases) - [Debugging](#debugging) - [Upgrading LaraDock](#upgrading-laradock) - [Related Projects](#related-projects) @@ -189,12 +190,14 @@ That's it! enjoy :) - PHP7-CLI - Composer - Git + - Linuxbrew - Node - Gulp - SQLite - xDebug - Envoy - Vim + - Yarn - ... Many other supported tools are not documented. (Will be updated soon) >If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :) @@ -410,7 +413,8 @@ You can select your own combination of Containers form the list below: ```bash docker-compose exec workspace bash ``` -Alternatively, for Windows Powershell users: execute the following command to enter any running container: + +Alternativey, for Windows Powershell users: execute the following command to enter any running container: ```bash docker exec -it {workspace-container-id} bash @@ -1552,6 +1556,17 @@ 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. + +You are free to modify the `aliases.sh` as you see fit, adding your own aliases (or function macros) to suit your requirements. + + + +
diff --git a/workspace/Dockerfile b/workspace/Dockerfile index e961f495..2d9440aa 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -82,6 +82,17 @@ USER root COPY ./crontab /etc/cron.d RUN chmod -R 644 /etc/cron.d +##################################### +# User Aliases +##################################### +USER root + +COPY ./aliases.sh /home/laradock/aliases.sh +RUN echo "" >> ~/.bashrc +RUN echo "# Load Custom Aliases" >> ~/.bashrc +RUN echo "source /home/laradock/aliases.sh" >> ~/.bashrc +RUN echo "" >> ~/.bashrc + ##################################### # xDebug: ##################################### diff --git a/workspace/aliases.sh b/workspace/aliases.sh new file mode 100644 index 00000000..93384a76 --- /dev/null +++ b/workspace/aliases.sh @@ -0,0 +1,71 @@ +#! /bin/sh + +# Colors used for status updates +ESC_SEQ="\x1b[" +COL_RESET=$ESC_SEQ"39;49;00m" +COL_RED=$ESC_SEQ"31;01m" +COL_GREEN=$ESC_SEQ"32;01m" +COL_YELLOW=$ESC_SEQ"33;01m" +COL_BLUE=$ESC_SEQ"34;01m" +COL_MAGENTA=$ESC_SEQ"35;01m" +COL_CYAN=$ESC_SEQ"36;01m" + +# Commonly Used Aliases +alias ..="cd .." +alias c="clear" +alias cla="clear && ls -l" +alias cll="clear && ls -la" +alias cls="clear && ls" +alias code="cd /var/www" +alias ea="vi ~/aliases" +alias g="gulp" +alias home="cd ~" +alias npm-global="npm list -g --depth 0" +alias ra="reload" +alias reload="source ~/.aliases && echo \"$COL_GREEN ==> Aliases Reloaded... $COL_RESET \n \"" +alias run="npm run" +alias tree="xtree" + +# Laravel / PHP Alisases +alias art="php artisan" +alias artisan="php artisan" +alias cdump="composer dump-autoload -o" +alias composer:dump="composer dump-autoload -o" +alias db:reset="php artisan migrate:reset && php artisan migrate --seed" +alias migrate="php artisan migrate" +alias seed="php artisan:seed" +alias phpunit="./vendor/bin/phpunit" + + +# requires installation of 'https://www.npmjs.com/package/npms-cli' +alias npms="npms search" + +# requires installation of 'https://www.npmjs.com/package/package-menu-cli' +alias pm="package-menu" + +# requires installation of 'https://www.npmjs.com/package/pkg-version-cli' +alias pv="package-version" + +# requires installation of 'https://github.com/sindresorhus/latest-version-cli' +alias lv="latest-version" + +# git aliases +alias gaa="git add ." +alias gd="git --no-pager diff" +alias git-revert="git reset --hard && git clean -df" +alias gs="git status" +alias whoops="git reset --hard && git clean -df" + + +# Create a new directory and enter it +function mkd() { + mkdir -p "$@" && cd "$@" +} + +function md() { + mkdir -p "$@" && cd "$@" +} + +function xtree { + find ${1:-.} -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' +} From a94f08920a73ae1e2b21ebc456c559b1fca7327f Mon Sep 17 00:00:00 2001 From: choirudin Date: Sun, 22 Jan 2017 11:20:27 +0700 Subject: [PATCH 019/365] add php exif (#564) * add php exif * format --- docker-compose.yml | 1 + php-fpm/Dockerfile-70 | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index d4f9604e..5a680608 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -54,6 +54,7 @@ services: - INSTALL_BCMATH=false - INSTALL_MEMCACHED=false - INSTALL_OPCACHE=false + - INSTALL_EXIF=false - INSTALL_AEROSPIKE_EXTENSION=false - CODEIGNITER=false dockerfile: Dockerfile-70 diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 0e507311..f6071232 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -128,6 +128,18 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ && docker-php-ext-enable memcached \ ;fi +##################################### +# Exif: +##################################### + +ARG INSTALL_EXIF=false +RUN if [ ${INSTALL_EXIF} = true ]; then \ + # Enable Exif PHP extentions requirements + docker-php-ext-install exif && \ + docker-php-ext-enable exif \ +;fi + + ##################################### # PHP Aerospike: ##################################### From 43b9515b619d7fef7c1e5965e85757ffff4cd208 Mon Sep 17 00:00:00 2001 From: Ivo Date: Thu, 26 Jan 2017 15:18:09 +0100 Subject: [PATCH 020/365] add alias support for laradock user (#572) add the same alias support as root for the laradock user, inlined the multiple RUN commands --- workspace/Dockerfile | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 2d9440aa..0616cdb0 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -85,13 +85,19 @@ RUN chmod -R 644 /etc/cron.d ##################################### # User Aliases ##################################### -USER root +USER laradock COPY ./aliases.sh /home/laradock/aliases.sh -RUN echo "" >> ~/.bashrc -RUN echo "# Load Custom Aliases" >> ~/.bashrc -RUN echo "source /home/laradock/aliases.sh" >> ~/.bashrc -RUN echo "" >> ~/.bashrc +RUN echo "" >> ~/.bashrc && \ + echo "# Load Custom Aliases" >> ~/.bashrc && \ + echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ + echo "" >> ~/.bashrc + +USER root +RUN echo "" >> ~/.bashrc && \ + echo "# Load Custom Aliases" >> ~/.bashrc && \ + echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ + echo "" >> ~/.bashrc ##################################### # xDebug: From 5d2761bc922ae9af645f8c3bb3587dbddfcf097b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Talip=20Durmu=C5=9F?= Date: Thu, 26 Jan 2017 16:19:13 +0200 Subject: [PATCH 021/365] Add missing PhpRedis option (#570) --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 5a680608..bf34bf1e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -52,6 +52,7 @@ services: - INSTALL_MONGO=false - INSTALL_ZIP_ARCHIVE=false - INSTALL_BCMATH=false + - INSTALL_PHPREDIS=false - INSTALL_MEMCACHED=false - INSTALL_OPCACHE=false - INSTALL_EXIF=false From e9d4e5579e060ccaf53aa96eac6d14a4afe416e0 Mon Sep 17 00:00:00 2001 From: Kapil Viren Ahuja Date: Fri, 27 Jan 2017 14:01:46 +0530 Subject: [PATCH 022/365] Fixing issue 568 (#574) Increasing buffer sizes for applications like react/babel. Working on default images was throwing intermitten NGing errors and requried multiple refreshes --- nginx/sites/default.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nginx/sites/default.conf b/nginx/sites/default.conf index d5058bd5..2ce47b56 100644 --- a/nginx/sites/default.conf +++ b/nginx/sites/default.conf @@ -15,6 +15,8 @@ server { try_files $uri /index.php =404; fastcgi_pass php-upstream; fastcgi_index index.php; + fastcgi_buffers 16 16k; + fastcgi_buffer_size 32k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } From c5e2e7e1e2f342e7fbb530c5e68d9165754f93f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Talip=20Durmu=C5=9F?= Date: Tue, 31 Jan 2017 11:05:42 +0200 Subject: [PATCH 023/365] Add deployer support (#579) * add deployer option * export path for all composer global installations * add deployer option * fix typo * add readme for deployer installation * deployer default option changed to false * Add missing deployer menu --- README.md | 35 +++++++++++++++++++++++++++++++---- docker-compose.yml | 1 + workspace/Dockerfile | 21 ++++++++++++++++++--- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d56a8572..7446cf09 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install Node + YARN](#Install-Yarn) - [Install Linuxbrew](#Install-Linuxbrew) - [Common Terminal Aliases](#Common-Aliases) + - [Install Deployer](#Install-Deployer) - [Debugging](#debugging) - [Upgrading LaraDock](#upgrading-laradock) - [Related Projects](#related-projects) @@ -196,6 +197,7 @@ That's it! enjoy :) - SQLite - xDebug - Envoy + - Deployer - Vim - Yarn - ... Many other supported tools are not documented. (Will be updated soon) @@ -1637,16 +1639,41 @@ It should be like this: +
+ + +### Install Deployer (Deployment tool for PHP) + +1 - Open the `docker-compose.yml` file +
+2 - Search for the `INSTALL_DEPLOYER` argument under the Workspace Container +
+3 - Set it to `true` +
+ +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_DEPLOYER=true + ... +``` + +4 - Re-build the containers `docker-compose build workspace` + +####[Deployer Documentation Here](https://deployer.org/docs) +
+ + - - - - ### PHPStorm Remote debug Laravel web and phpunit tests. diff --git a/docker-compose.yml b/docker-compose.yml index bf34bf1e..3199a3f6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,6 +26,7 @@ services: - COMPOSER_GLOBAL_INSTALL=false - INSTALL_WORKSPACE_SSH=false - INSTALL_LARAVEL_ENVOY=false + - INSTALL_DEPLOYER=false - INSTALL_LINUXBREW=false - PUID=1000 - PGID=1000 diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0616cdb0..87482464 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -74,6 +74,10 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \ composer global install \ ;fi +# Export composer vendor path +RUN echo "" >> ~/.bashrc && \ +echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc + ##################################### # Crontab ##################################### @@ -304,9 +308,20 @@ ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY} RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ # Install the Laravel Envoy - echo "" >> ~/.bashrc && \ - echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \ - && composer global require "laravel/envoy=~1.0" \ + composer global require "laravel/envoy=~1.0" \ +;fi + +##################################### +# Deployer: +##################################### +USER laradock + +ARG INSTALL_DEPLOYER=false +ENV INSTALL_DEPLOYER ${INSTALL_DEPLOYER} + +RUN if [ ${INSTALL_DEPLOYER} = true ]; then \ + # Install the Deployer + composer global require "deployer/deployer" \ ;fi ##################################### From 628893588452eec726941f15cf27c1a9fa7f160d Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Fri, 3 Feb 2017 10:18:23 -0500 Subject: [PATCH 024/365] remove production-docker-compose.yml We need to add the docs later. Closes #524 --- production-docker-compose.yml | 62 ----------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 production-docker-compose.yml diff --git a/production-docker-compose.yml b/production-docker-compose.yml deleted file mode 100644 index e8c0dd42..00000000 --- a/production-docker-compose.yml +++ /dev/null @@ -1,62 +0,0 @@ -version: '2' - -services: - -### Workspace Utilities Container ########################### - - workspace: - build: - context: ./workspace - args: - - INSTALL_XDEBUG=false - - INSTALL_MONGO=false - - INSTALL_NODE=false - - INSTALL_YARN=false - - INSTALL_DRUSH=false - - INSTALL_AEROSPIKE_EXTENSION=false - - COMPOSER_GLOBAL_INSTALL=false - - INSTALL_WORKSPACE_SSH=false - - PUID=1000 - - PGID=1000 - - NODE_VERSION=stable - volumes_from: - - volumes_source - ports: - - "22:22" - tty: true - -### PHP-FPM Container ####################################### - - php-fpm: - build: - context: ./php-fpm - args: - - INSTALL_XDEBUG=false - - INSTALL_MONGO=false - - INSTALL_ZIP_ARCHIVE=false - - INSTALL_MEMCACHED=false - - INSTALL_OPCACHE=false - - INSTALL_AEROSPIKE_EXTENSION=false - dockerfile: Dockerfile-70 - volumes_from: - - volumes_source - expose: - - "9000" - links: - - workspace - -### Application Code Container ###################### - - volumes_source: - image: tianon/true - volumes: - - ../:/var/www - -### Databases Data Container ################################ - - volumes_data: - image: tianon/true - volumes: -# - ./data/mysql:/var/lib/mysql - -### Add All your Software Containers below ############################### From c3f5dfa7410f2441d22c2acc0de0d66e1e1a89ea Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Fri, 3 Feb 2017 15:28:27 -0500 Subject: [PATCH 025/365] Add Mike Erickson to the Admins team --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7446cf09..c6ef8984 100644 --- a/README.md +++ b/README.md @@ -1837,7 +1837,8 @@ For special help with Docker and/or Laravel, you can schedule a live call with t - [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ] - [Bo-Yi Wu](https://github.com/appleboy) (appleboy) - [Philippe Trépanier](https://github.com/philtrep) (philtrep) -- YOU?! Join Us. +- [Mike Erickson](https://github.com/mikeerickson) (mikeerickson) +- Join Us! **Amazing Contributors:** From 37508bb3ca07db747faf5739b30113288e93749b Mon Sep 17 00:00:00 2001 From: Max Mekenya Date: Sun, 5 Feb 2017 03:13:25 +1000 Subject: [PATCH 026/365] Add Queue Worker as a starting point (#581) * Add Queue Worker as an starting point By https://github.com/laradock/laradock/issues/14#issuecomment-276374969 * Fix typo --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index c6ef8984..f9aaa0e8 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Laravel](#Laravel): - [Install Laravel from a Docker Container](#Install-Laravel) - [Run Artisan Commands](#Run-Artisan-Commands) + - [Run Laravel Queue Worker](#Run-Laravel-Queue-Worker) - [Use Redis](#Use-Redis) - [Use Mongo](#Use-Mongo) - [Use PhpMyAdmin](#Use-phpMyAdmin) @@ -928,6 +929,31 @@ phpunit +
+ +### Run Laravel Queue Worker + +1 - First add `php-worker` container. It will be similar as like PHP-FPM Containter. +
+a) open the `docker-compose.yml` file +
+b) add a new service container by simply copy-paste this section below PHP-FPM container + +```yaml + 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 +``` +2 - Start everything up + +```bash +docker-compose up -d php-worker +``` +
### Use Redis From 9348dd95a07101d3b77ba27a3c5003c815bf8267 Mon Sep 17 00:00:00 2001 From: BAGArt Date: Sun, 5 Feb 2017 19:03:41 +0300 Subject: [PATCH 027/365] Issues 563 (#580) * https://github.com/laradock/laradock/issues/563 hotfix * https://github.com/laradock/laradock/issues/563 \r * https://github.com/laradock/laradock/issues/563 \r --- workspace/aliases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/aliases.sh b/workspace/aliases.sh index 93384a76..f3e2a2c0 100644 --- a/workspace/aliases.sh +++ b/workspace/aliases.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash # Colors used for status updates ESC_SEQ="\x1b[" From 8f44a0800b11c71ea063b378ed3537295a304102 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Sun, 5 Feb 2017 11:56:06 -0500 Subject: [PATCH 028/365] add `Keep track of your Laradock changes` section to the docs --- README.md | 241 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 132 insertions(+), 109 deletions(-) diff --git a/README.md b/README.md index f9aaa0e8..c8d3651d 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Change the PHP-CLI Version](#Change-the-PHP-CLI-Version) - [Install xDebug](#Install-xDebug) - [Start/Stop xDebug](#Control-xDebug) + - [Install Deployer](#Install-Deployer) - [Production](#Production) - [Prepare LaraDock for Production](#LaraDock-for-Production) - [Setup Laravel and Docker on Digital Ocean](#Digital-Ocean) @@ -90,9 +91,12 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install Node + YARN](#Install-Yarn) - [Install Linuxbrew](#Install-Linuxbrew) - [Common Terminal Aliases](#Common-Aliases) - - [Install Deployer](#Install-Deployer) - - [Debugging](#debugging) + - [Install Aerospike extension](#Install-Aerospike-Extension) + - [Install Laravel Envoy](#Install-Laravel-Envoy) + - [PHPStorm Debugging Guide](#phpstorm-debugging) + - [Keep track of your Laradock changes](#keep-tracking-Laradock) - [Upgrading LaraDock](#upgrading-laradock) + - [Common Problems](#Common-Problems) - [Related Projects](#related-projects) - [Help & Questions](#Help) @@ -100,7 +104,6 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - ### Quick Overview: Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `Beanstalkd`: @@ -279,7 +282,6 @@ What's better than a **Demo Video**: - ## Installation @@ -294,11 +296,14 @@ Choose the setup the best suits your needs. 1 - Clone this repository on your project root directory: ```bash -git submodule add https://github.com/LaraDock/laradock.git +git submodule add https://github.com/Laradock/laradock.git ``` ->If you are not already using Git for your PHP project, you can use `git clone` instead of `git submodule`. -Note: In this case the folder structure will be like this: +*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.* + +*Note 2: To keep track of your Laradock changes, between your projects and also keep Laradock updated. [Check this](#keep-tracking-Laradock)* + +*Note 3: In this case the folder structure will be like this:* ``` - project1 @@ -794,6 +799,36 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the +
+ +### Install Deployer (Deployment tool for PHP) + +1 - Open the `docker-compose.yml` file +
+2 - Search for the `INSTALL_DEPLOYER` argument under the Workspace Container +
+3 - Set it to `true` +
+ +It should be like this: + +```yml + workspace: + build: + context: ./workspace + args: + - INSTALL_DEPLOYER=true + ... +``` + +4 - Re-build the containers `docker-compose build workspace` + +######[Deployer Documentation Here](https://deployer.org/docs) + + + + +
@@ -1299,6 +1334,7 @@ To install CodeIgniter 3 on Laradock all you have to do is the following simple
+## Miscellaneous @@ -1660,127 +1696,36 @@ It should be like this: 4 - Re-build the containers `docker-compose build workspace` -####[Laravel Envoy Documentation Here](https://laravel.com/docs/5.3/envoy) +######[Laravel Envoy Documentation Here](https://laravel.com/docs/5.3/envoy) -
- - -### Install Deployer (Deployment tool for PHP) - -1 - Open the `docker-compose.yml` file -
-2 - Search for the `INSTALL_DEPLOYER` argument under the Workspace Container -
-3 - Set it to `true` -
- -It should be like this: - -```yml - workspace: - build: - context: ./workspace - args: - - INSTALL_DEPLOYER=true - ... -``` - -4 - Re-build the containers `docker-compose build workspace` - -####[Deployer Documentation Here](https://deployer.org/docs)
- - - - - -### PHPStorm + +### PHPStorm Debugging Guide Remote debug Laravel web and phpunit tests. -####[Full Guide Here](https://github.com/LaraDock/laradock/blob/master/_guides/phpstorm.md) +######[Debugging Guide Here](https://github.com/LaraDock/laradock/blob/master/_guides/phpstorm.md) -
- -### Miscellaneous +
+ +### Keep track of your Laradock changes -*Here's a list of the common problems you might face, and the possible solutions.* - - - - - - -#### I see a blank (white) page instead of the Laravel 'Welcome' page! - -Run the following command from the Laravel root directory: - -```bash -sudo chmod -R 777 storage bootstrap/cache -``` - - - - - - -#### I see "Welcome to nginx" instead of the Laravel App! - -Use `http://127.0.0.1` instead of `http://localhost` in your browser. - - - - - - -#### I see an error message containing `address already in use` or `port is already allocated` - -Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed. - - - - - - -#### I get Nginx error 404 Not Found on Windows. - -1. Go to docker Settings on your Windows machine. -2. Click on the `Shared Drives` tab and check the drive that contains your project files. -3. Enter your windows username and password. -4. Go to the `reset` tab and click restart docker. - - - - -#### The time in my services does not match the current time - -1. Make sure you've [changed the timezone](#Change-the-timezone). -2. Stop and rebuild the containers (`docker-compose up -d --build `) - - - - -#### I get Mysql connection refused - -This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it: - -* Option A - 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. Fork the Lardock repository. +2. Use that fork as a submodule. +3. Commit all your changes to your fork. +4. Pull new stuff from the main repo from time to time. @@ -1807,6 +1752,84 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ +
+ +## Common Problems + +*Here's a list of the common problems you might face, and the possible solutions.* + + + + + + +
+#### I see a blank (white) page instead of the Laravel 'Welcome' page! + +Run the following command from the Laravel root directory: + +```bash +sudo chmod -R 777 storage bootstrap/cache +``` + + + + + +
+#### I see "Welcome to nginx" instead of the Laravel App! + +Use `http://127.0.0.1` instead of `http://localhost` in your browser. + + + + + +
+#### I see an error message containing `address already in use` or `port is already allocated` + +Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed. + + + + + +
+#### I get Nginx error 404 Not Found on Windows. + +1. Go to docker Settings on your Windows machine. +2. Click on the `Shared Drives` tab and check the drive that contains your project files. +3. Enter your windows username and password. +4. Go to the `reset` tab and click restart docker. + + + + +
+#### The time in my services does not match the current time + +1. Make sure you've [changed the timezone](#Change-the-timezone). +2. Stop and rebuild the containers (`docker-compose up -d --build `) + + + +
+#### I get Mysql connection refused + +This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it: + +* Option A + 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` + + + + + + +
## Contributing From f7d915256b5aed6fcc9df1134c0b8628849e19fe Mon Sep 17 00:00:00 2001 From: Pulkit Sood Date: Tue, 7 Feb 2017 14:09:33 +0530 Subject: [PATCH 029/365] xdebugPhpFpm permission denied fix (#587) * xdebugPhpFpm permission denied fix * xdebugPhpFpm might not have execution access when cloned. This addition to readme helps tell the user why he got Permission Denied and what can be done to fix it. * Fix doesn't spelling, remove newline * This is fixup for `38e26c3`. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8d3651d..98ad222a 100644 --- a/README.md +++ b/README.md @@ -794,6 +794,7 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the - Start xDebug by default: `./xdebugPhpFpm start`. - See the status: `./xdebugPhpFpm status`. +Note: If `./xdebugPhpFpm` doesn't execute and gives `Permission Denied` error the problem can be that file `xdebugPhpFpm` doesn't have execution access. This can be fixed by running `chmod` command with desired access permissions. From cf34c4ed3277dd6bb656e6ca8d7683350cf0a1c6 Mon Sep 17 00:00:00 2001 From: Austin Benesh Date: Tue, 7 Feb 2017 15:21:30 -0700 Subject: [PATCH 030/365] Fixed SOAP for both php-fpm and CLI --- docker-compose.yml | 1 + php-fpm/Dockerfile-56 | 2 +- php-fpm/Dockerfile-70 | 2 +- workspace/Dockerfile | 17 +++++++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3199a3f6..d96bd67c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,7 @@ services: context: ./workspace args: - INSTALL_XDEBUG=false + - INSTALL_SOAP=false - INSTALL_MONGO=false - INSTALL_NODE=false - INSTALL_YARN=false diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index e012439b..5cdb9200 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -44,7 +44,7 @@ ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ # Install the soap extension apt-get -y update && \ - apt-get -y install libxml2-dev && \ + apt-get -y install libxml2-dev php-soap && \ docker-php-ext-install soap \ ;fi diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index f6071232..93deeae0 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -45,7 +45,7 @@ ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ # Install the soap extension apt-get -y update && \ - apt-get -y install libxml2-dev && \ + apt-get -y install libxml2-dev php-soap && \ docker-php-ext-install soap \ ;fi diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 87482464..39b0996f 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -47,6 +47,23 @@ ARG PGID=1000 RUN groupadd -g $PGID laradock && \ useradd -u $PUID -g laradock -m laradock + +##################################### +# SOAP: +##################################### +USER root + +ARG INSTALL_SOAP=false +ENV INSTALL_SOAP ${INSTALL_SOAP} + +RUN if [ ${INSTALL_SOAP} = true ]; then \ + # Install the PHP SOAP extension + apt-get -y update && \ + add-apt-repository -y ppa:ondrej/php && \ + apt-get -y install libxml2-dev php7.0-soap && \ + echo "extension=soap.so" >> /etc/php/7.0/cli/conf.d/40-soap.ini \ +;fi + ##################################### # Set Timezone ##################################### From e8bb2b29fd61d03040b1c7ea86f2078298ae299f Mon Sep 17 00:00:00 2001 From: Craig Iannazzi Date: Tue, 7 Feb 2017 20:50:07 -0500 Subject: [PATCH 031/365] update README.md to show how to driectly go to the mysql prompt within the mysql container (#592) --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 98ad222a..f016bb51 100644 --- a/README.md +++ b/README.md @@ -534,6 +534,12 @@ docker-compose exec {container-name} bash docker-compose exec mysql bash ``` +*Example: enter to mysql prompt within MySQL container* + +```bash +docker-compose exec mysql mysql -u homestead -psecret +``` + 3 - To exit a container, type `exit`. From 00550d328c192ff8670e59a08c0fff89a5ab9376 Mon Sep 17 00:00:00 2001 From: Ng Yik Phang Date: Wed, 8 Feb 2017 18:45:48 +0800 Subject: [PATCH 032/365] Various readme typo fixes/improvements (#593) * Various readme typo fixes/improvements * Change Laradock -> LaraDock --- CONTRIBUTING.md | 6 +-- README-zh.md | 18 ++++---- README.md | 116 ++++++++++++++++++++++++------------------------ 3 files changed, 70 insertions(+), 70 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9b98cfa9..17960328 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,9 +38,9 @@ You can request a new feature by submitting an [Issue](https://github.com/larado * 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 Dockerfiles from their Github repositories. For more info read their Dockerfiles comment on the LaraDock repository. +you need to edit their Dockerfiles from their GitHub repositories. For more info read their Dockerfiles comment on the LaraDock repository. -* Make sure to update the `Readme` incase you made any changes. +* Make sure to update the `Readme` in case you made any changes. ## Issue/PR Submission Guidelines @@ -68,7 +68,7 @@ Always Test everything and make sure its working: ### Submitting a PR Consider the following guidelines: -* Search [GitHub](https://github.com/LaraDock/laradock/pulls) for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort. +* Search [GitHub](https://github.com/laradock/laradock/pulls) for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort. * Make your changes in a new git branch: diff --git a/README-zh.md b/README-zh.md index 0ea0c0ea..5ef4d15a 100644 --- a/README-zh.md +++ b/README-zh.md @@ -67,7 +67,7 @@ LaraDock努力简化创建开发环境过程。 1. 将LaraDock放到你的Laravel项目中:
-`git clone https://github.com/LaraDock/laradock.git`. +`git clone https://github.com/laradock/laradock.git`. 2. 进入LaraDock目录,然后运行这些容器。
`docker-compose up -d nginx mysql redis` @@ -177,7 +177,7 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V **A)** 如果你已经有一个Laravel项目,克隆这个仓库在到`Laravel`根目录 ```bash -git submodule add https://github.com/LaraDock/laradock.git +git submodule add https://github.com/laradock/laradock.git ``` >如果你不是使用Git管理Laravel项目,您可以使用 `git clone` 而不是`git submodule`。 @@ -185,7 +185,7 @@ git submodule add https://github.com/LaraDock/laradock.git **B)** 如果你没有一个Laravel项目,你想Docker安装Laravel,克隆这个源在您的机器任何地方上: ```bash -git clone https://github.com/LaraDock/laradock.git +git clone https://github.com/laradock/laradock.git ``` @@ -196,8 +196,8 @@ git clone https://github.com/LaraDock/laradock.git **请在开始之前阅读:** 如果你正在使用**Docker Toolbox** (VM),选择以下任何一个方法: -- 更新到Docker [Native](https://www.docker.com/products/docker) Mac/Windows版本 (建议). 查看 [Upgrading Laradock](#upgrading-laradock) -- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/LaraDock/laradock/tree/LaraDock-ToolBox)). +- 更新到Docker [Native](https://www.docker.com/products/docker) Mac/Windows版本 (建议). 查看 [Upgrading LaraDock](#upgrading-laradock) +- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)). 如果您使用的是**Docker Native**(Mac / Windows版本)甚至是Linux版本,通常可以继续阅读这个文档,LaraDock v4以上版本将仅支持**Docker Native**。
@@ -720,7 +720,7 @@ docker-compose build php #### B) 切换版本 PHP `7.0` 或 `5.6` 到 PHP `5.5` 我们已不在本地支持PHP5.5,但是你按照以下步骤获取: -1 - 克隆 `https://github.com/LaraDock/php-fpm`. +1 - 克隆 `https://github.com/laradock/php-fpm`. 3 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`. @@ -938,7 +938,7 @@ sudo chmod -R 777 storage bootstrap/cache ## 贡献 这个小项目是由一个有一个全职工作和很多的职责的人建立的,所以如果你喜欢这个项目,并且发现它需要一个bug修复或支持或新软件或升级任何容器,或其他任何. . 你是非常欢迎,欢迎毫不不犹豫地贡献吧:) -#### 阅读我们的 [贡献说明](https://github.com/LaraDock/laradock/blob/master/CONTRIBUTING.md) +#### 阅读我们的 [贡献说明](https://github.com/laradock/laradock/blob/master/CONTRIBUTING.md) ## 帮助 & 问题 @@ -957,8 +957,8 @@ Docker或Laravel的特别帮助,你可以在[Codementor.io](https://www.codeme **优秀的人:** -- [Contributors](https://github.com/LaraDock/laradock/graphs/contributors) -- [Supporters](https://github.com/LaraDock/laradock/issues?utf8=%E2%9C%93&q=) +- [Contributors](https://github.com/laradock/laradock/graphs/contributors) +- [Supporters](https://github.com/laradock/laradock/issues?utf8=%E2%9C%93&q=) ## 许可证 diff --git a/README.md b/README.md index f016bb51..ca1b4345 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Laradock +# LaraDock [![forthebadge](http://forthebadge.com/images/badges/built-by-developers.svg)](http://zalt.me) [![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -Laradock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**. +LaraDock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**. >Use Docker first and learn about it later. @@ -16,11 +16,11 @@ Laradock is a Docker PHP development environment. It facilitate running **PHP** ## Intro -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. +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...). @@ -31,13 +31,13 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Readme Languages](#) - [English (Default)](#) - - [Chinese](https://github.com/LaraDock/laradock/blob/master/README-zh.md) + - [Chinese](https://github.com/laradock/laradock/blob/master/README-zh.md) - [Intro](#Intro) - [Features](#features) - [Supported Software](#Supported-Containers) - [What is Docker](#what-is-docker) - [Why Docker not Vagrant](#why-docker-not-vagrant) - - [Laradock VS Homestead](#laradock-vs-homestead) + - [LaraDock VS Homestead](#laradock-vs-homestead) - [Demo Video](#Demo) - [Requirements](#Requirements) - [Installation](#Installation) @@ -79,7 +79,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install CodeIgniter](#Install-CodeIgniter) - [Misc](#Misc) - [Change the timezone](#Change-the-timezone) - - [Cron jobs](#CronJobs) + - [Adding cron jobs](#CronJobs) - [Access workspace via ssh](#Workspace-ssh) - [MySQL access from host](#MySQL-access-from-host) - [MySQL root access](#MySQL-root-access) @@ -94,7 +94,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to - [Install Aerospike extension](#Install-Aerospike-Extension) - [Install Laravel Envoy](#Install-Laravel-Envoy) - [PHPStorm Debugging Guide](#phpstorm-debugging) - - [Keep track of your Laradock changes](#keep-tracking-Laradock) + - [Keep track of your LaraDock changes](#keep-tracking-LaraDock) - [Upgrading LaraDock](#upgrading-laradock) - [Common Problems](#Common-Problems) - [Related Projects](#related-projects) @@ -106,9 +106,9 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to ### Quick Overview: -Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `Beanstalkd`: +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 @@ -128,7 +128,7 @@ REDIS_HOST=redis QUEUE_HOST=beanstalkd ``` -4 - Open your browser and visi localhost: `http://localhost`. +4 - Open your browser and visit localhost: `http://localhost`. ```shell That's it! enjoy :) @@ -145,11 +145,11 @@ That's it! enjoy :) - Choose your favorite database engine: MySQL, Postgres, MariaDB... - Run your own combination of software: Memcached, HHVM, Beanstalkd... - Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI... -- Easy to customize any container, with simple edit to the `dockerfile`. +- Easy to customize any container, with simple edit to the `Dockerfile`. - All Images extends from an official base Image. (Trusted base Images). -- Pre-configured Nginx for Laravel. +- Pre-configured NGINX for Laravel. - Easy to apply configurations inside containers. -- Clean and well structured Dockerfiles (`dockerfile`). +- Clean and well structured Dockerfiles (`Dockerfile`). - Latest version of the Docker Compose file (`docker-compose`). - Everything is visible and editable. - Fast Images Builds. @@ -181,7 +181,7 @@ That's it! enjoy :) - **PHP Compilers:** - PHP-FPM - HHVM -- **Message Queueing Systems:** +- **Message Queuing Systems:** - Beanstalkd - Beanstalkd Console - RabbitMQ @@ -240,17 +240,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. -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**. @@ -301,7 +301,7 @@ 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.* -*Note 2: To keep track of your Laradock changes, between your projects and also keep Laradock updated. [Check this](#keep-tracking-Laradock)* +*Note 2: To keep track of your LaraDock changes, between your projects and also keep LaraDock updated. [Check this](#keep-tracking-LaraDock)* *Note 3: In this case the folder structure will be like this:* @@ -318,7 +318,7 @@ git submodule add https://github.com/Laradock/laradock.git 1 - Clone this repository anywhere on your machine: ```bash -git clone https://github.com/LaraDock/laradock.git +git clone https://github.com/laradock/laradock.git ``` Note: In this case the folder structure will be like this: @@ -342,7 +342,7 @@ docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ .... 1 - Clone this repository anywhere on your machine: ```bash -git clone https://github.com/LaraDock/laradock.git +git clone https://github.com/laradock/laradock.git ``` 2 - Edit the `docker-compose.yml` file to map to your projects directories: @@ -355,7 +355,7 @@ git clone https://github.com/LaraDock/laradock.git - ../project2/:/var/www/project2 ``` -3 - You can access all sites by visiting `http://localhost/project1/public` and `http://localhost/project2/public` but of course that's not very useful so let's setup nginx quickly. +3 - You can access all sites by visiting `http://localhost/project1/public` and `http://localhost/project2/public` but of course that's not very useful so let's setup NGINX quickly. 4 - Go to `nginx/sites` and copy `sample.conf.example` to `project1.conf` then to `project2.conf` @@ -388,8 +388,8 @@ 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)).
@@ -422,7 +422,7 @@ You can select your own combination of Containers form the list below: docker-compose exec workspace bash ``` -Alternativey, for Windows Powershell users: execute the following command to enter any running container: +Alternatively, for Windows PowerShell users: execute the following command to enter any running container: ```bash docker exec -it {workspace-container-id} bash @@ -534,7 +534,7 @@ docker-compose exec {container-name} bash docker-compose exec mysql bash ``` -*Example: enter to mysql prompt within MySQL container* +*Example: enter to MySQL prompt within MySQL container* ```bash docker-compose exec mysql mysql -u homestead -psecret @@ -562,7 +562,7 @@ Change MySQL Database Name: ... ``` -Change Redis defaut port to 1111: +Change Redis default port to 1111: ```yml ports: @@ -579,7 +579,7 @@ Change Redis defaut port to 1111: ### Edit a Docker Image -1 - Find the `dockerfile` of the image you want to edit, +1 - Find the `Dockerfile` of the image you want to edit,
example for `mysql` it will be `mysql/Dockerfile`. @@ -601,7 +601,7 @@ More info on Containers rebuilding [here](#Build-Re-build-Containers). ### Build/Re-build Containers -If you do any change to any `dockerfile` make sure you run this command, for the changes to take effect: +If you do any change to any `Dockerfile` make sure you run this command, for the changes to take effect: ```bash docker-compose build @@ -633,7 +633,7 @@ To add an image (software), just edit the `docker-compose.yml` and add your cont
### View the Log files -The Nginx Log file is stored in the `logs/nginx` directory. +The NGINX Log file is stored in the `logs/nginx` directory. However to view the logs of all the other containers (MySQL, PHP-FPM,...) you can run this: @@ -705,7 +705,7 @@ docker-compose build php-fpm We do not natively support PHP 5.5 anymore, but you can get it in few steps: -1 - Clone `https://github.com/LaraDock/php-fpm`. +1 - Clone `https://github.com/laradock/php-fpm`. 3 - Rename `Dockerfile-56` to `Dockerfile-55`. @@ -773,7 +773,7 @@ It should be like this: 2 - Re-build the containers `docker-compose build workspace php-fpm` -3 - Open `laradock/workspace/xdebug.ini` and/or `laradock/php-fpm/xdebug.ini` and enable at least the following configs: +3 - Open `laradock/workspace/xdebug.ini` and/or `laradock/php-fpm/xdebug.ini` and enable at least the following configurations: ``` xdebug.remote_autostart=1 @@ -848,7 +848,7 @@ It should be like this: ### 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 exampe: `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: @@ -868,7 +868,7 @@ To learn more about how Docker publishes ports, please read [this excellent post ### Setup Laravel and Docker on Digital Ocean -####[Full Guide Here](https://github.com/LaraDock/laradock/blob/master/_guides/digital_ocean.md) +####[Full Guide Here](https://github.com/laradock/laradock/blob/master/_guides/digital_ocean.md) @@ -975,7 +975,7 @@ phpunit ### Run Laravel Queue Worker -1 - First add `php-worker` container. It will be similar as like PHP-FPM Containter. +1 - First add `php-worker` container. It will be similar as like PHP-FPM Container.
a) open the `docker-compose.yml` file
@@ -1195,7 +1195,7 @@ b. set the queue host to beanstalkd : `QUEUE_HOST=beanstalkd` *beanstalkd is now available on default port `11300`.* -3 - Require the dependecy package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer. +3 - Require the dependency package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer. Optionally you can use the Beanstalkd Console Container to manage your Queues from a web interface. @@ -1326,7 +1326,7 @@ docker-compose up -d rethinkdb ### 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. @@ -1432,9 +1432,9 @@ ports: ### MySQL root access -The default username and password for the root mysql user are `root` and `root `. +The default username and password for the root MySQL user are `root` and `root `. -1 - Enter the mysql contaier: `docker-compose exec mysql bash`. +1 - Enter the MySQL container: `docker-compose exec mysql bash`. 2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`. @@ -1480,7 +1480,7 @@ Assuming your custom domain is `laravel.dev` 2 - Open your browser and visit `{http://laravel.dev}` -Optionally you can define the server name in the nginx configuration file, like this: +Optionally you can define the server name in the NGINX configuration file, like this: ```conf server_name laravel.dev; @@ -1631,7 +1631,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. @@ -1716,7 +1716,7 @@ It should be like this: ### PHPStorm Debugging Guide Remote debug Laravel web and phpunit tests. -######[Debugging Guide Here](https://github.com/LaraDock/laradock/blob/master/_guides/phpstorm.md) +######[Debugging Guide Here](https://github.com/laradock/laradock/blob/master/_guides/phpstorm.md) @@ -1726,13 +1726,13 @@ Remote debug Laravel web and phpunit tests.
- -### Keep track of your Laradock changes + +### Keep track of your LaraDock changes -1. Fork the Lardock 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 repo from time to time. +4. Pull new stuff from the main repository from time to time. @@ -1745,14 +1745,14 @@ Remote debug Laravel web and phpunit tests. 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}` +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`. **Note:** If you face any problem with the last step above: rebuild all your containers `docker-compose build --no-cache` -"Warnning Containers Data might be lost!" +"Warning Containers Data might be lost!" @@ -1802,7 +1802,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
-#### I get Nginx error 404 Not Found on Windows. +#### I get NGINX error 404 Not Found on Windows. 1. Go to docker Settings on your Windows machine. 2. Click on the `Shared Drives` tab and check the drive that contains your project files. @@ -1821,7 +1821,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
-#### I get Mysql connection refused +#### I get MySQL connection refused This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it: @@ -1829,7 +1829,7 @@ 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` @@ -1842,7 +1842,7 @@ This error sometimes happens because your Laravel application isn't running on t This little project was built by one man who has a full time job and many responsibilities, so if you like this project and you find that it needs a bug fix or support for new software or upgrade any container, or anything else, do not hesitate to contribute, you are more than welcome :) -#### Read the [Contribution Guidelines](https://github.com/LaraDock/laradock/blob/master/CONTRIBUTING.md). +#### Read the [Contribution Guidelines](https://github.com/laradock/laradock/blob/master/CONTRIBUTING.md). @@ -1857,7 +1857,7 @@ 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) * [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) +* [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: * [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal) @@ -1877,7 +1877,7 @@ If you want your project listed here, please open an issue. 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). For special help with Docker and/or Laravel, you can schedule a live call with the creator of this project at [Codementor.io](https://www.codementor.io/mahmoudz). @@ -1890,7 +1890,7 @@ For special help with Docker and/or Laravel, you can schedule a live call with t **Super Admins:** -- [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ] +- [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [LinkedIn](https://www.linkedin.com/in/mahmoudzalt) ] - [Bo-Yi Wu](https://github.com/appleboy) (appleboy) - [Philippe Trépanier](https://github.com/philtrep) (philtrep) - [Mike Erickson](https://github.com/mikeerickson) (mikeerickson) @@ -1898,7 +1898,7 @@ For special help with Docker and/or Laravel, you can schedule a live call with t **Amazing Contributors:** -- [Contributors](https://github.com/LaraDock/laradock/graphs/contributors) +- [Contributors](https://github.com/laradock/laradock/graphs/contributors) From f3339825981a258b485b0a6ee0c5f4652d0fe99d Mon Sep 17 00:00:00 2001 From: Simon Perdrisat Date: Fri, 10 Feb 2017 14:11:24 +0100 Subject: [PATCH 033/365] instruction to improve d4m speed (#597) * instruction to improve d4m speed * Move mac speed doc to misc section, remove docker-sync instructions --- README.md | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ca1b4345..64bf4c78 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ LaraDock is configured to run Laravel Apps by default, and it can be modified to - [PHPStorm Debugging Guide](#phpstorm-debugging) - [Keep track of your LaraDock changes](#keep-tracking-LaraDock) - [Upgrading LaraDock](#upgrading-laradock) + - [Improve speed on MacOS](#Speed-MacOS) - [Common Problems](#Common-Problems) - [Related Projects](#related-projects) - [Help & Questions](#Help) @@ -377,10 +378,6 @@ Do the same for each project `project2.conf`, `project3.conf`,... 7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon. - - - - ## Usage @@ -1755,8 +1752,38 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ "Warning Containers Data might be lost!" + +### Improve speed on MacOS +Sharing code into Docker containers with osxfs have very poor performance compared to Linux. You can get around this issue by using NFS to share your files betwen your host and your container. + +#### How to share files using NFS (d4m-nfs) +[d4m-nfs](https://github.com/IFSight/d4m-nfs) automatically mount NFS volume instead of osxfs one. + + 1. Update docker File Sharing preferences. You should have only /tmp. + 2. Restart docker. + 3. Clone d4m-nfs repository in your home directory + ```bash + $ git clone https://github.com/IFSight/d4m-nfs ~/d4m-nfs + ``` + 4. Edit/create the file ~/d4m-nfs/etc/d4m-nfs-mounts.txt with this configuration: + ``` +/Users:/Users +/Volumes:/Volumes +/private:/private + ``` + 5. Empty the file /etc/exports and clean it up if required (there may be collisions if you come from Vagrant or if you already executed the d4m-nfs.sh script) + 6. Run the d4m-nfs.sh script + ```bash + ~/d4m-nfs/d4m-nfs.sh + ``` + +That's it! Now you just have to bring your container up with docker compose. For example: + +```bash +docker-compose up -d nginx mysql +```
From 21a83bd5a3211bc80583f5a97f0ca63626d8edca Mon Sep 17 00:00:00 2001 From: Simon Perdrisat Date: Fri, 10 Feb 2017 21:37:03 +0100 Subject: [PATCH 034/365] safer opcache settings (#604) --- php-fpm/opcache.ini | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/php-fpm/opcache.ini b/php-fpm/opcache.ini index dcc670d7..59683ba8 100644 --- a/php-fpm/opcache.ini +++ b/php-fpm/opcache.ini @@ -2,6 +2,7 @@ extension=opcache.so opcache.enable="1" opcache.memory_consumption="256" opcache.use_cwd="0" -opcache.fast_shutdown="1" opcache.max_file_size="0" -opcache.validate_timestamps="0" +opcache.max_accelerated_files = 30000 +opcache.validate_timestamps="1" +opcache.revalidate_freq="0" From fac84cd45b7b983cfb56acd040508f24f7cf313f Mon Sep 17 00:00:00 2001 From: Simon Perdrisat Date: Sat, 11 Feb 2017 03:51:10 +0100 Subject: [PATCH 035/365] Add a config file for mariaDB (#605) --- mariadb/Dockerfile | 2 ++ mariadb/my.cnf | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 mariadb/my.cnf diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index f8724f59..fa25b26e 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -2,6 +2,8 @@ FROM mariadb:latest MAINTAINER Mahmoud Zalt +ADD my.cnf /etc/mysql/conf.d/my.cnf + CMD ["mysqld"] EXPOSE 3306 diff --git a/mariadb/my.cnf b/mariadb/my.cnf new file mode 100644 index 00000000..f14f2690 --- /dev/null +++ b/mariadb/my.cnf @@ -0,0 +1,7 @@ +# MariaDB database server configuration file. +# +# You can use this file to overwrite the default configuration +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + From 6440ca841ab621305e0457f7a23505a99df44960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=9C=97=E7=89=9B?= Date: Wed, 15 Feb 2017 22:34:30 +0800 Subject: [PATCH 036/365] change application source #397 (#609) # fix a problem--#397, change application source from dl-cdn.alpinelinux.org to aliyun source. --- nginx/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 1a1db96f..e23be3d5 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -6,6 +6,9 @@ ADD nginx.conf /etc/nginx/ ARG PHP_UPSTREAM=php-fpm +# fix a problem--#397, change application source from dl-cdn.alpinelinux.org to aliyun source. +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories + RUN apk update \ && apk upgrade \ && apk add --no-cache bash \ From 7b542618f0e27f5ec5892b91df01faf46be951df Mon Sep 17 00:00:00 2001 From: alchimik Date: Sun, 19 Feb 2017 13:26:18 +0800 Subject: [PATCH 037/365] 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 cdaa344321e33bd92ec671274340b982ba38c014 Mon Sep 17 00:00:00 2001 From: alchimik Date: Tue, 21 Feb 2017 23:23:30 +0800 Subject: [PATCH 038/365] Fixed memcached for php5.6 (#624) ``` Step 15/32 : RUN if [ ${INSTALL_MEMCACHED} = true ]; then pecl install memcached && docker-php-ext-enable memcached ;fi ---> Running in b43e2e6b07f6 pecl/memcached requires PHP (version >= 7.0.0), installed version is 5.6.24 pecl/memcached can optionally use PHP extension "igbinary" (version >= 2.0) pecl/memcached can optionally use PHP extension "msgpack" (version >= 2.0) No valid packages found install failed ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c if [ ${INSTALL_MEMCACHED} = true ]; then pecl install memcached && docker-php-ext-enable memcached ;fi' returned a non-zero code: 1 ``` --- php-fpm/Dockerfile-56 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index 5cdb9200..0f7e0661 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -101,7 +101,7 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \ ARG INSTALL_MEMCACHED=false RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ # Install the php memcached extension - pecl install memcached && \ + pecl install memcached-2.2.0 && \ docker-php-ext-enable memcached \ ;fi From 770a9779ca70f115a61654eeace7ef4a928c6dbd Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Tue, 21 Feb 2017 10:26:56 -0500 Subject: [PATCH 039/365] Fix Caddy volumes to persist SSL (#613) I'm blaming commit https://github.com/laradock/laradock/commit/380eef5fd954f3066ad0df6a6e613302ba0edf1a for breaking this functionality. --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index d96bd67c..67af2244 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -287,6 +287,7 @@ services: volumes: - ./caddy/Caddyfile:/etc/Caddyfile - ./logs/caddy:/var/log/caddy + - caddy:/root/.caddy links: - php-fpm From ee481a2a26df25a835dc8eb24775a5417ff08bfb Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Tue, 21 Feb 2017 10:28:02 -0500 Subject: [PATCH 040/365] update Improving Docker on Mac Speed Docs --- README.md | 51 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 64bf4c78..351021e7 100644 --- a/README.md +++ b/README.md @@ -1752,39 +1752,56 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ "Warning Containers Data might be lost!" + + +
### Improve speed on MacOS Sharing code into Docker containers with osxfs have very poor performance compared to Linux. You can get around this issue by using NFS to share your files betwen your host and your container. -#### How to share files using NFS (d4m-nfs) +> How to share files using NFS (d4m-nfs) [d4m-nfs](https://github.com/IFSight/d4m-nfs) automatically mount NFS volume instead of osxfs one. - 1. Update docker File Sharing preferences. You should have only /tmp. - 2. Restart docker. - 3. Clone d4m-nfs repository in your home directory - ```bash - $ git clone https://github.com/IFSight/d4m-nfs ~/d4m-nfs - ``` - 4. Edit/create the file ~/d4m-nfs/etc/d4m-nfs-mounts.txt with this configuration: - ``` +1) Update the Docker [File Sharing] preferences: + +Click on the Docker Icon > Preferences > (remove everything form the list except `/tmp`). + +2) Restart Docker. + +3) Clone the [d4m-nfs](https://github.com/IFSight/d4m-nfs) repository to your `home` directory. + +```bash +git clone https://github.com/IFSight/d4m-nfs ~/d4m-nfs +``` + +4) Create (or edit) the file `~/d4m-nfs/etc/d4m-nfs-mounts.txt`, and write the follwing configuration in it: + +```txt /Users:/Users /Volumes:/Volumes /private:/private - ``` - 5. Empty the file /etc/exports and clean it up if required (there may be collisions if you come from Vagrant or if you already executed the d4m-nfs.sh script) - 6. Run the d4m-nfs.sh script - ```bash - ~/d4m-nfs/d4m-nfs.sh - ``` - -That's it! Now you just have to bring your container up with docker compose. For example: +``` + +5) Create (or edit) the file `/etc/exports`, make sure it exists and is empty. (There may be collisions if you come from Vagrant or if you already executed the `d4m-nfs.sh` script before). + + +6) Run the `d4m-nfs.sh` script: + +```bash +~/d4m-nfs/d4m-nfs.sh +``` + +That's it! Run your containers.. Example: ```bash docker-compose up -d nginx mysql ``` +**Note:** If you faced any errors, try restarting Docker, and make sure you have no spaces in the `d4m-nfs-mounts.txt` file, and your `/etc/exports` file is clear. + +
From 0ddafaf3621a387c7ef1606ddf0dcf6263c2e9cc Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Wed, 22 Feb 2017 09:31:31 -0500 Subject: [PATCH 041/365] add docs/ to generate github page --- docs/.gitignore | 6 + docs/404.md | 6 + docs/Dockerfile | 26 + docs/Gemfile | 3 + docs/Gemfile.lock | 201 + docs/README.md | 22 + docs/_config.yml | 106 + docs/_data/alerts.yml | 15 + docs/_data/definitions.yml | 9 + docs/_data/glossary.yml | 11 + docs/_data/samplelist.yml | 107 + docs/_data/sidebars/home_sidebar.yml | 22 + docs/_data/sidebars/mydoc_sidebar.yml | 303 + docs/_data/sidebars/other.yml | 18 + docs/_data/sidebars/product1_sidebar.yml | 60 + docs/_data/sidebars/product2_sidebar.yml | 92 + docs/_data/strings.yml | 5 + docs/_data/tags.yml | 12 + docs/_data/terms.yml | 1 + docs/_data/topnav.yml | 32 + docs/_includes/archive.html | 15 + docs/_includes/callout.html | 1 + .../custom/getting_started_series.html | 19 + .../custom/getting_started_series_next.html | 10 + docs/_includes/custom/series_acme.html | 19 + docs/_includes/custom/series_acme_next.html | 30 + docs/_includes/custom/sidebarconfigs.html | 33 + docs/_includes/custom/usermap.html | 14 + docs/_includes/custom/usermapcomplex.html | 91 + docs/_includes/disqus.html | 16 + docs/_includes/feedback.html | 13 + docs/_includes/footer.html | 9 + docs/_includes/google_analytics.html | 6 + docs/_includes/head.html | 36 + docs/_includes/head_print.html | 33 + docs/_includes/image.html | 1 + docs/_includes/important.html | 1 + docs/_includes/initialize_shuffle.html | 130 + docs/_includes/inline_image.html | 1 + docs/_includes/links.html | 44 + docs/_includes/note.html | 1 + docs/_includes/sidebar.html | 56 + docs/_includes/taglogic.html | 32 + docs/_includes/tip.html | 1 + docs/_includes/toc.html | 21 + docs/_includes/topnav.html | 75 + docs/_includes/warning.html | 1 + docs/_layouts/default.html | 80 + docs/_layouts/default_print.html | 25 + docs/_layouts/none.html | 3 + docs/_layouts/page.html | 70 + docs/_layouts/page_print.html | 15 + docs/_layouts/post.html | 41 + docs/_posts/2015-04-12-test-post-last-year.md | 10 + docs/_posts/2016-02-24-first-post.md | 19 + docs/_posts/2016-02-26-sample-post-jekyll.md | 17 + docs/_tooltips/baseball.html | 6 + docs/_tooltips/basketball.html | 6 + docs/_tooltips/football.html | 6 + docs/_tooltips/soccer.html | 6 + docs/css/bootstrap.min.css | 5 + docs/css/customstyles.css | 1179 ++ docs/css/font-awesome.min.css | 4 + docs/css/fonts/FontAwesome.otf | Bin 0 -> 93888 bytes docs/css/fonts/fontawesome-webfont.eot | Bin 0 -> 60767 bytes docs/css/fonts/fontawesome-webfont.svg | 565 + docs/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 122092 bytes docs/css/fonts/fontawesome-webfont.woff | Bin 0 -> 71508 bytes docs/css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 56780 bytes docs/css/lavish-bootstrap.css | 5898 ++++++ docs/css/modern-business.css | 93 + docs/css/printstyles.css | 160 + docs/css/syntax.css | 60 + docs/css/theme-blue.css | 103 + docs/css/theme-green.css | 99 + docs/feed.xml | 32 + docs/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes docs/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes docs/fonts/fontawesome-webfont.svg | 520 + docs/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes docs/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes docs/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes docs/fonts/glyphicons-halflings-regular.svg | 288 + docs/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes docs/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes docs/fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes docs/images/androidsdkmanagericon.png | Bin 0 -> 795 bytes docs/images/authorizegithubscreen2.png | Bin 0 -> 76388 bytes docs/images/authorizeongithub.png | Bin 0 -> 22571 bytes docs/images/company_logo.png | Bin 0 -> 3105 bytes docs/images/company_logo_big.png | Bin 0 -> 9588 bytes docs/images/favicon.ico | Bin 0 -> 177352 bytes docs/images/helpapi-01.png | Bin 0 -> 91640 bytes docs/images/helpapi.svg | 1661 ++ docs/images/illustratoroptions.png | Bin 0 -> 118175 bytes docs/images/itermexample.png | Bin 0 -> 68886 bytes docs/images/jekyll.png | Bin 0 -> 5375 bytes docs/images/killalljekyll.png | Bin 0 -> 66686 bytes docs/images/liningup.png | Bin 0 -> 74728 bytes docs/images/workflowarrow.png | Bin 0 -> 3595 bytes docs/index.md | 325 + docs/js/customscripts.js | 55 + docs/js/jekyll-search.js | 1 + docs/js/jquery.ba-throttle-debounce.min.js | 9 + docs/js/jquery.localScroll.min.js | 7 + docs/js/jquery.navgoco.min.js | 8 + docs/js/jquery.scrollTo.min.js | 7 + docs/js/jquery.shuffle.min.js | 1588 ++ docs/js/mydoc_scroll.html | 240 + docs/js/toc.js | 82 + docs/licenses/LICENSE | 21 + docs/licenses/LICENSE-BSD-NAVGOCO.txt | 27 + docs/pages/mydoc/mydoc_about.md | 22 + .../mydoc/mydoc_about_ruby_gems_bundler.md | 254 + docs/pages/mydoc/mydoc_adding_tooltips.md | 27 + docs/pages/mydoc/mydoc_alerts.md | 185 + docs/pages/mydoc/mydoc_atom_text_editor.md | 35 + docs/pages/mydoc/mydoc_build_arguments.md | 68 + docs/pages/mydoc/mydoc_build_scripts.md | 197 + docs/pages/mydoc/mydoc_code_samples.md | 27 + docs/pages/mydoc/mydoc_collections.md | 40 + docs/pages/mydoc/mydoc_commenting_on_files.md | 67 + docs/pages/mydoc/mydoc_conditional_logic.md | 156 + docs/pages/mydoc/mydoc_content_reuse.md | 54 + docs/pages/mydoc/mydoc_excluding_files.md | 86 + docs/pages/mydoc/mydoc_faq.md | 136 + docs/pages/mydoc/mydoc_generating_pdfs.md | 396 + docs/pages/mydoc/mydoc_git_collaboration.md | 185 + docs/pages/mydoc/mydoc_glossary.md | 111 + docs/pages/mydoc/mydoc_help_api.md | 362 + docs/pages/mydoc/mydoc_hyperlinks.md | 99 + docs/pages/mydoc/mydoc_icons.md | 225 + docs/pages/mydoc/mydoc_images.md | 99 + .../mydoc/mydoc_install_jekyll_on_mac.md | 157 + .../mydoc/mydoc_install_jekyll_on_windows.md | 107 + docs/pages/mydoc/mydoc_installing_bundler.md | 43 + docs/pages/mydoc/mydoc_introduction.md | 30 + docs/pages/mydoc/mydoc_iterm_profiles.md | 43 + docs/pages/mydoc/mydoc_kb_layout.md | 115 + docs/pages/mydoc/mydoc_labels.md | 33 + docs/pages/mydoc/mydoc_lists.md | 133 + docs/pages/mydoc/mydoc_navtabs.md | 114 + .../mydoc/mydoc_no_password_prompts_scp.md | 132 + docs/pages/mydoc/mydoc_pages.md | 182 + docs/pages/mydoc/mydoc_posts.md | 47 + .../mydoc/mydoc_publishing_github_pages.md | 74 + .../pages/mydoc/mydoc_push_build_to_server.md | 35 + docs/pages/mydoc/mydoc_release_notes_50.md | 48 + docs/pages/mydoc/mydoc_release_notes_60.md | 40 + docs/pages/mydoc/mydoc_scroll.html | 242 + .../pages/mydoc/mydoc_search_configuration.md | 119 + docs/pages/mydoc/mydoc_series.md | 110 + docs/pages/mydoc/mydoc_seriesdemo1.md | 22 + docs/pages/mydoc/mydoc_seriesdemo2.md | 24 + docs/pages/mydoc/mydoc_seriesdemo3.md | 24 + docs/pages/mydoc/mydoc_seriesdemo4.md | 26 + docs/pages/mydoc/mydoc_shuffle.html | 167 + docs/pages/mydoc/mydoc_sidebar_navigation.md | 83 + docs/pages/mydoc/mydoc_special_layouts.md | 31 + docs/pages/mydoc/mydoc_support.md | 14 + docs/pages/mydoc/mydoc_supported_features.md | 55 + docs/pages/mydoc/mydoc_syntax_highlighting.md | 111 + docs/pages/mydoc/mydoc_tables.md | 226 + .../mydoc/mydoc_tag_archives_overview.md | 18 + docs/pages/mydoc/mydoc_tags.md | 186 + docs/pages/mydoc/mydoc_themes.md | 28 + docs/pages/mydoc/mydoc_troubleshooting.md | 77 + .../pages/mydoc/mydoc_webstorm_text_editor.md | 90 + docs/pages/mydoc/mydoc_workflow_maps.md | 142 + docs/pages/mydoc/mydoc_yaml_tutorial.md | 426 + docs/pages/news/news.html | 32 + docs/pages/news/news_archive.html | 41 + docs/pages/product1/p1_landing_page.html | 239 + docs/pages/product1/p1_sample1.md | 25 + docs/pages/product1/p1_sample2.md | 25 + docs/pages/product1/p1_sample3.md | 25 + docs/pages/product1/p1_sample4.md | 25 + docs/pages/product1/p1_sample5.md | 25 + docs/pages/product1/p1_sample6.md | 25 + docs/pages/product1/p1_sample7.md | 25 + docs/pages/product2/p2_landing_page.html | 239 + docs/pages/product2/p2_sample1.md | 29 + docs/pages/product2/p2_sample10.md | 29 + docs/pages/product2/p2_sample11.md | 29 + docs/pages/product2/p2_sample12.md | 29 + docs/pages/product2/p2_sample13.md | 30 + docs/pages/product2/p2_sample14.md | 30 + docs/pages/product2/p2_sample2.md | 30 + docs/pages/product2/p2_sample3.md | 28 + docs/pages/product2/p2_sample4.md | 28 + docs/pages/product2/p2_sample5.md | 28 + docs/pages/product2/p2_sample6.md | 30 + docs/pages/product2/p2_sample7.md | 30 + docs/pages/product2/p2_sample8.md | 30 + docs/pages/product2/p2_sample9.md | 31 + docs/pages/tags/tag_collaboration.md | 11 + docs/pages/tags/tag_content_types.md | 11 + docs/pages/tags/tag_formatting.md | 11 + docs/pages/tags/tag_getting_started.md | 11 + docs/pages/tags/tag_mobile.md | 11 + docs/pages/tags/tag_navigation.md | 11 + docs/pages/tags/tag_news.md | 11 + docs/pages/tags/tag_publishing.md | 11 + docs/pages/tags/tag_single_sourcing.md | 11 + docs/pages/tags/tag_special_layouts.md | 12 + docs/pages/tags/tag_troubleshooting.md | 11 + docs/pdf-all.sh | 1 + docs/pdf-mydoc.sh | 14 + docs/pdf-product1.sh | 11 + docs/pdf-product2.sh | 11 + docs/pdf/mydoc.pdf | 17268 ++++++++++++++++ docs/pdf/product1.pdf | Bin 0 -> 99519 bytes docs/pdf/product2.pdf | Bin 0 -> 126571 bytes docs/pdfconfigs/config_mydoc_pdf.yml | 18 + docs/pdfconfigs/config_product1_pdf.yml | 18 + docs/pdfconfigs/config_product2_pdf.yml | 18 + docs/pdfconfigs/prince-list.txt | 27 + docs/pdfconfigs/titlepage.html | 22 + docs/pdfconfigs/tocpage.html | 44 + docs/search.json | 33 + docs/sitemap.xml | 24 + docs/tooltips.html | 80 + docs/tooltips.json | 19 + docs/update.sh | 4 + 224 files changed, 40363 insertions(+) create mode 100755 docs/.gitignore create mode 100755 docs/404.md create mode 100755 docs/Dockerfile create mode 100755 docs/Gemfile create mode 100755 docs/Gemfile.lock create mode 100755 docs/README.md create mode 100755 docs/_config.yml create mode 100755 docs/_data/alerts.yml create mode 100755 docs/_data/definitions.yml create mode 100755 docs/_data/glossary.yml create mode 100755 docs/_data/samplelist.yml create mode 100755 docs/_data/sidebars/home_sidebar.yml create mode 100755 docs/_data/sidebars/mydoc_sidebar.yml create mode 100755 docs/_data/sidebars/other.yml create mode 100755 docs/_data/sidebars/product1_sidebar.yml create mode 100755 docs/_data/sidebars/product2_sidebar.yml create mode 100755 docs/_data/strings.yml create mode 100755 docs/_data/tags.yml create mode 100755 docs/_data/terms.yml create mode 100755 docs/_data/topnav.yml create mode 100755 docs/_includes/archive.html create mode 100755 docs/_includes/callout.html create mode 100755 docs/_includes/custom/getting_started_series.html create mode 100755 docs/_includes/custom/getting_started_series_next.html create mode 100755 docs/_includes/custom/series_acme.html create mode 100755 docs/_includes/custom/series_acme_next.html create mode 100755 docs/_includes/custom/sidebarconfigs.html create mode 100755 docs/_includes/custom/usermap.html create mode 100755 docs/_includes/custom/usermapcomplex.html create mode 100755 docs/_includes/disqus.html create mode 100755 docs/_includes/feedback.html create mode 100755 docs/_includes/footer.html create mode 100755 docs/_includes/google_analytics.html create mode 100755 docs/_includes/head.html create mode 100755 docs/_includes/head_print.html create mode 100755 docs/_includes/image.html create mode 100755 docs/_includes/important.html create mode 100755 docs/_includes/initialize_shuffle.html create mode 100755 docs/_includes/inline_image.html create mode 100755 docs/_includes/links.html create mode 100755 docs/_includes/note.html create mode 100755 docs/_includes/sidebar.html create mode 100755 docs/_includes/taglogic.html create mode 100755 docs/_includes/tip.html create mode 100755 docs/_includes/toc.html create mode 100755 docs/_includes/topnav.html create mode 100755 docs/_includes/warning.html create mode 100755 docs/_layouts/default.html create mode 100755 docs/_layouts/default_print.html create mode 100755 docs/_layouts/none.html create mode 100755 docs/_layouts/page.html create mode 100755 docs/_layouts/page_print.html create mode 100755 docs/_layouts/post.html create mode 100755 docs/_posts/2015-04-12-test-post-last-year.md create mode 100755 docs/_posts/2016-02-24-first-post.md create mode 100755 docs/_posts/2016-02-26-sample-post-jekyll.md create mode 100755 docs/_tooltips/baseball.html create mode 100755 docs/_tooltips/basketball.html create mode 100755 docs/_tooltips/football.html create mode 100755 docs/_tooltips/soccer.html create mode 100755 docs/css/bootstrap.min.css create mode 100755 docs/css/customstyles.css create mode 100755 docs/css/font-awesome.min.css create mode 100755 docs/css/fonts/FontAwesome.otf create mode 100755 docs/css/fonts/fontawesome-webfont.eot create mode 100755 docs/css/fonts/fontawesome-webfont.svg create mode 100755 docs/css/fonts/fontawesome-webfont.ttf create mode 100755 docs/css/fonts/fontawesome-webfont.woff create mode 100755 docs/css/fonts/fontawesome-webfont.woff2 create mode 100755 docs/css/lavish-bootstrap.css create mode 100755 docs/css/modern-business.css create mode 100755 docs/css/printstyles.css create mode 100755 docs/css/syntax.css create mode 100755 docs/css/theme-blue.css create mode 100755 docs/css/theme-green.css create mode 100755 docs/feed.xml create mode 100755 docs/fonts/FontAwesome.otf create mode 100755 docs/fonts/fontawesome-webfont.eot create mode 100755 docs/fonts/fontawesome-webfont.svg create mode 100755 docs/fonts/fontawesome-webfont.ttf create mode 100755 docs/fonts/fontawesome-webfont.woff create mode 100755 docs/fonts/glyphicons-halflings-regular.eot create mode 100755 docs/fonts/glyphicons-halflings-regular.svg create mode 100755 docs/fonts/glyphicons-halflings-regular.ttf create mode 100755 docs/fonts/glyphicons-halflings-regular.woff create mode 100755 docs/fonts/glyphicons-halflings-regular.woff2 create mode 100755 docs/images/androidsdkmanagericon.png create mode 100755 docs/images/authorizegithubscreen2.png create mode 100755 docs/images/authorizeongithub.png create mode 100755 docs/images/company_logo.png create mode 100755 docs/images/company_logo_big.png create mode 100755 docs/images/favicon.ico create mode 100755 docs/images/helpapi-01.png create mode 100755 docs/images/helpapi.svg create mode 100755 docs/images/illustratoroptions.png create mode 100755 docs/images/itermexample.png create mode 100755 docs/images/jekyll.png create mode 100755 docs/images/killalljekyll.png create mode 100755 docs/images/liningup.png create mode 100755 docs/images/workflowarrow.png create mode 100755 docs/index.md create mode 100755 docs/js/customscripts.js create mode 100755 docs/js/jekyll-search.js create mode 100755 docs/js/jquery.ba-throttle-debounce.min.js create mode 100755 docs/js/jquery.localScroll.min.js create mode 100755 docs/js/jquery.navgoco.min.js create mode 100755 docs/js/jquery.scrollTo.min.js create mode 100755 docs/js/jquery.shuffle.min.js create mode 100755 docs/js/mydoc_scroll.html create mode 100755 docs/js/toc.js create mode 100755 docs/licenses/LICENSE create mode 100755 docs/licenses/LICENSE-BSD-NAVGOCO.txt create mode 100755 docs/pages/mydoc/mydoc_about.md create mode 100755 docs/pages/mydoc/mydoc_about_ruby_gems_bundler.md create mode 100755 docs/pages/mydoc/mydoc_adding_tooltips.md create mode 100755 docs/pages/mydoc/mydoc_alerts.md create mode 100755 docs/pages/mydoc/mydoc_atom_text_editor.md create mode 100755 docs/pages/mydoc/mydoc_build_arguments.md create mode 100755 docs/pages/mydoc/mydoc_build_scripts.md create mode 100755 docs/pages/mydoc/mydoc_code_samples.md create mode 100755 docs/pages/mydoc/mydoc_collections.md create mode 100755 docs/pages/mydoc/mydoc_commenting_on_files.md create mode 100755 docs/pages/mydoc/mydoc_conditional_logic.md create mode 100755 docs/pages/mydoc/mydoc_content_reuse.md create mode 100755 docs/pages/mydoc/mydoc_excluding_files.md create mode 100755 docs/pages/mydoc/mydoc_faq.md create mode 100755 docs/pages/mydoc/mydoc_generating_pdfs.md create mode 100755 docs/pages/mydoc/mydoc_git_collaboration.md create mode 100755 docs/pages/mydoc/mydoc_glossary.md create mode 100755 docs/pages/mydoc/mydoc_help_api.md create mode 100755 docs/pages/mydoc/mydoc_hyperlinks.md create mode 100755 docs/pages/mydoc/mydoc_icons.md create mode 100755 docs/pages/mydoc/mydoc_images.md create mode 100755 docs/pages/mydoc/mydoc_install_jekyll_on_mac.md create mode 100755 docs/pages/mydoc/mydoc_install_jekyll_on_windows.md create mode 100755 docs/pages/mydoc/mydoc_installing_bundler.md create mode 100755 docs/pages/mydoc/mydoc_introduction.md create mode 100755 docs/pages/mydoc/mydoc_iterm_profiles.md create mode 100755 docs/pages/mydoc/mydoc_kb_layout.md create mode 100755 docs/pages/mydoc/mydoc_labels.md create mode 100755 docs/pages/mydoc/mydoc_lists.md create mode 100755 docs/pages/mydoc/mydoc_navtabs.md create mode 100755 docs/pages/mydoc/mydoc_no_password_prompts_scp.md create mode 100755 docs/pages/mydoc/mydoc_pages.md create mode 100755 docs/pages/mydoc/mydoc_posts.md create mode 100755 docs/pages/mydoc/mydoc_publishing_github_pages.md create mode 100755 docs/pages/mydoc/mydoc_push_build_to_server.md create mode 100755 docs/pages/mydoc/mydoc_release_notes_50.md create mode 100755 docs/pages/mydoc/mydoc_release_notes_60.md create mode 100755 docs/pages/mydoc/mydoc_scroll.html create mode 100755 docs/pages/mydoc/mydoc_search_configuration.md create mode 100755 docs/pages/mydoc/mydoc_series.md create mode 100755 docs/pages/mydoc/mydoc_seriesdemo1.md create mode 100755 docs/pages/mydoc/mydoc_seriesdemo2.md create mode 100755 docs/pages/mydoc/mydoc_seriesdemo3.md create mode 100755 docs/pages/mydoc/mydoc_seriesdemo4.md create mode 100755 docs/pages/mydoc/mydoc_shuffle.html create mode 100755 docs/pages/mydoc/mydoc_sidebar_navigation.md create mode 100755 docs/pages/mydoc/mydoc_special_layouts.md create mode 100755 docs/pages/mydoc/mydoc_support.md create mode 100755 docs/pages/mydoc/mydoc_supported_features.md create mode 100755 docs/pages/mydoc/mydoc_syntax_highlighting.md create mode 100755 docs/pages/mydoc/mydoc_tables.md create mode 100755 docs/pages/mydoc/mydoc_tag_archives_overview.md create mode 100755 docs/pages/mydoc/mydoc_tags.md create mode 100755 docs/pages/mydoc/mydoc_themes.md create mode 100755 docs/pages/mydoc/mydoc_troubleshooting.md create mode 100755 docs/pages/mydoc/mydoc_webstorm_text_editor.md create mode 100755 docs/pages/mydoc/mydoc_workflow_maps.md create mode 100755 docs/pages/mydoc/mydoc_yaml_tutorial.md create mode 100755 docs/pages/news/news.html create mode 100755 docs/pages/news/news_archive.html create mode 100755 docs/pages/product1/p1_landing_page.html create mode 100755 docs/pages/product1/p1_sample1.md create mode 100755 docs/pages/product1/p1_sample2.md create mode 100755 docs/pages/product1/p1_sample3.md create mode 100755 docs/pages/product1/p1_sample4.md create mode 100755 docs/pages/product1/p1_sample5.md create mode 100755 docs/pages/product1/p1_sample6.md create mode 100755 docs/pages/product1/p1_sample7.md create mode 100755 docs/pages/product2/p2_landing_page.html create mode 100755 docs/pages/product2/p2_sample1.md create mode 100755 docs/pages/product2/p2_sample10.md create mode 100755 docs/pages/product2/p2_sample11.md create mode 100755 docs/pages/product2/p2_sample12.md create mode 100755 docs/pages/product2/p2_sample13.md create mode 100755 docs/pages/product2/p2_sample14.md create mode 100755 docs/pages/product2/p2_sample2.md create mode 100755 docs/pages/product2/p2_sample3.md create mode 100755 docs/pages/product2/p2_sample4.md create mode 100755 docs/pages/product2/p2_sample5.md create mode 100755 docs/pages/product2/p2_sample6.md create mode 100755 docs/pages/product2/p2_sample7.md create mode 100755 docs/pages/product2/p2_sample8.md create mode 100755 docs/pages/product2/p2_sample9.md create mode 100755 docs/pages/tags/tag_collaboration.md create mode 100755 docs/pages/tags/tag_content_types.md create mode 100755 docs/pages/tags/tag_formatting.md create mode 100755 docs/pages/tags/tag_getting_started.md create mode 100755 docs/pages/tags/tag_mobile.md create mode 100755 docs/pages/tags/tag_navigation.md create mode 100755 docs/pages/tags/tag_news.md create mode 100755 docs/pages/tags/tag_publishing.md create mode 100755 docs/pages/tags/tag_single_sourcing.md create mode 100755 docs/pages/tags/tag_special_layouts.md create mode 100755 docs/pages/tags/tag_troubleshooting.md create mode 100755 docs/pdf-all.sh create mode 100755 docs/pdf-mydoc.sh create mode 100755 docs/pdf-product1.sh create mode 100755 docs/pdf-product2.sh create mode 100755 docs/pdf/mydoc.pdf create mode 100755 docs/pdf/product1.pdf create mode 100755 docs/pdf/product2.pdf create mode 100755 docs/pdfconfigs/config_mydoc_pdf.yml create mode 100755 docs/pdfconfigs/config_product1_pdf.yml create mode 100755 docs/pdfconfigs/config_product2_pdf.yml create mode 100755 docs/pdfconfigs/prince-list.txt create mode 100755 docs/pdfconfigs/titlepage.html create mode 100755 docs/pdfconfigs/tocpage.html create mode 100755 docs/search.json create mode 100755 docs/sitemap.xml create mode 100755 docs/tooltips.html create mode 100755 docs/tooltips.json create mode 100755 docs/update.sh diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100755 index 00000000..b33f7679 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,6 @@ +_site/ +.sass-cache/ +.jekyll-metadata +_pdf +.idea/ +.DS_Store diff --git a/docs/404.md b/docs/404.md new file mode 100755 index 00000000..a7b58c00 --- /dev/null +++ b/docs/404.md @@ -0,0 +1,6 @@ +--- +title: "Page Not Found" +search: exclude +--- + +Sorry, but the page you were trying to view does not exist. Try searching for it or looking at the URL to see if it looks correct. diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100755 index 00000000..b1fa52c4 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,26 @@ +FROM ruby:2.1 +MAINTAINER mrafayaleem@gmail.com + +RUN apt-get clean \ + && mv /var/lib/apt/lists /var/lib/apt/lists.broke \ + && mkdir -p /var/lib/apt/lists/partial + +RUN apt-get update + +RUN apt-get install -y \ + node \ + python-pygments \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ + +WORKDIR /tmp +ADD Gemfile /tmp/ +ADD Gemfile.lock /tmp/ +RUN bundle install + +VOLUME /src +EXPOSE 4000 + +WORKDIR /src +ENTRYPOINT ["jekyll"] + diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100755 index 00000000..f94f65e0 --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem 'github-pages', group: :jekyll_plugins \ No newline at end of file diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100755 index 00000000..352091d9 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,201 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.7) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.5.0) + public_suffix (~> 2.0, >= 2.0.2) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + ethon (0.10.1) + ffi (>= 1.3.0) + execjs (2.7.0) + faraday (0.11.0) + multipart-post (>= 1.2, < 3) + ffi (1.9.17) + forwardable-extended (2.6.0) + gemoji (2.1.0) + github-pages (117) + activesupport (= 4.2.7) + github-pages-health-check (= 1.3.0) + jekyll (= 3.3.1) + jekyll-avatar (= 0.4.2) + jekyll-coffeescript (= 1.0.1) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.8.0) + jekyll-gist (= 1.4.0) + jekyll-github-metadata (= 2.3.1) + jekyll-mentions (= 1.2.0) + jekyll-optional-front-matter (= 0.1.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.0.3) + jekyll-redirect-from (= 0.11.0) + jekyll-relative-links (= 0.2.1) + jekyll-sass-converter (= 1.5.0) + jekyll-seo-tag (= 2.1.0) + jekyll-sitemap (= 0.12.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.0.3) + jekyll-theme-cayman (= 0.0.3) + jekyll-theme-dinky (= 0.0.3) + jekyll-theme-hacker (= 0.0.3) + jekyll-theme-leap-day (= 0.0.3) + jekyll-theme-merlot (= 0.0.3) + jekyll-theme-midnight (= 0.0.3) + jekyll-theme-minimal (= 0.0.3) + jekyll-theme-modernist (= 0.0.3) + jekyll-theme-primer (= 0.1.7) + jekyll-theme-slate (= 0.0.3) + jekyll-theme-tactile (= 0.0.3) + jekyll-theme-time-machine (= 0.0.3) + jekyll-titles-from-headings (= 0.1.4) + jemoji (= 0.7.0) + kramdown (= 1.11.1) + liquid (= 3.0.6) + listen (= 3.0.6) + mercenary (~> 0.3) + minima (= 2.0.0) + nokogiri (= 1.6.8.1) + rouge (= 1.11.1) + terminal-table (~> 1.4) + github-pages-health-check (1.3.0) + addressable (~> 2.3) + net-dns (~> 0.8) + octokit (~> 4.0) + public_suffix (~> 2.0) + typhoeus (~> 0.7) + html-pipeline (2.5.0) + activesupport (>= 2) + nokogiri (>= 1.4) + i18n (0.7.0) + jekyll (3.3.1) + addressable (~> 2.4) + colorator (~> 1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-avatar (0.4.2) + jekyll (~> 3.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.8.0) + jekyll (~> 3.3) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-github-metadata (2.3.1) + jekyll (~> 3.1) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.2.0) + activesupport (~> 4.0) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.1.2) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.0.3) + jekyll (~> 3.0) + jekyll-redirect-from (0.11.0) + jekyll (>= 2.0) + jekyll-relative-links (0.2.1) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) + jekyll-seo-tag (2.1.0) + jekyll (~> 3.3) + jekyll-sitemap (0.12.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.0.3) + jekyll (~> 3.3) + jekyll-theme-cayman (0.0.3) + jekyll (~> 3.3) + jekyll-theme-dinky (0.0.3) + jekyll (~> 3.3) + jekyll-theme-hacker (0.0.3) + jekyll (~> 3.3) + jekyll-theme-leap-day (0.0.3) + jekyll (~> 3.3) + jekyll-theme-merlot (0.0.3) + jekyll (~> 3.3) + jekyll-theme-midnight (0.0.3) + jekyll (~> 3.3) + jekyll-theme-minimal (0.0.3) + jekyll (~> 3.3) + jekyll-theme-modernist (0.0.3) + jekyll (~> 3.3) + jekyll-theme-primer (0.1.7) + jekyll (~> 3.3) + jekyll-theme-slate (0.0.3) + jekyll (~> 3.3) + jekyll-theme-tactile (0.0.3) + jekyll (~> 3.3) + jekyll-theme-time-machine (0.0.3) + jekyll (~> 3.3) + jekyll-titles-from-headings (0.1.4) + jekyll (~> 3.3) + jekyll-watch (1.5.0) + listen (~> 3.0, < 3.1) + jemoji (0.7.0) + activesupport (~> 4.0) + gemoji (~> 2.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0) + json (1.8.6) + kramdown (1.11.1) + liquid (3.0.6) + listen (3.0.6) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9.7) + mercenary (0.3.6) + mini_portile2 (2.1.0) + minima (2.0.0) + minitest (5.10.1) + multipart-post (2.0.0) + net-dns (0.8.0) + nokogiri (1.6.8.1) + mini_portile2 (~> 2.1.0) + octokit (4.6.2) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.14.0) + forwardable-extended (~> 2.6) + public_suffix (2.0.5) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) + ffi (>= 0.5.0) + rouge (1.11.1) + safe_yaml (1.0.4) + sass (3.4.23) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + terminal-table (1.7.3) + unicode-display_width (~> 1.1.1) + thread_safe (0.3.5) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + unicode-display_width (1.1.3) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + +BUNDLED WITH + 1.14.3 diff --git a/docs/README.md b/docs/README.md new file mode 100755 index 00000000..bb149944 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,22 @@ +# Laradock Documentation + +You can read the documentation here [laradock.github.io/documentation](https://laradock.github.io/documentation/). + +Or visit the Laradock [Repository](https://github.com/laradock/laradock). + + + + +## How to contribute? + +The Laradock documentation is built using [Jekyll](https://jekyllrb.com) and the theme [Jekyll Doc Theme 6.0](https://github.com/tomjohnson1492/documentation-theme-jekyll). And it's hosted on Github [Pages](https://pages.github.com). + +For details on where to write your docs and how to modify the theme, please check the theme [documentation](http://idratherbewriting.com/documentation-theme-jekyll/index.html). + +#### Run it locally on your machine: + +1. Clone this repository. +2. Serve the files with `jekyll serve --watch`. +3. Visit the server address from your browser. + +More details in the [Jekyll Doc Theme 6.0 Documentation](http://idratherbewriting.com/documentation-theme-jekyll/mydoc_install_jekyll_on_mac.html). \ No newline at end of file diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100755 index 00000000..cb6ee0b3 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,106 @@ +repository: tomjohnson1492/documentation-theme-jekyll + +output: web +# this property is useful for conditional filtering of content that is separate from the PDF. + +topnav_title: Jekyll Documentation Theme +# this appears on the top navigation bar next to the home button + +site_title: Jekyll theme for documentation +# this appears in the html browser tab for the site title (seen mostly by search engines, not users) + +company_name: Your company +# this appears in the footer + +github_editme_path: tomjohnson1492/documentation-theme-jekyll/blob/gh-pages/ +# if you're using Github, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank. + +disqus_shortname: idrbwjekyll +# if you're using disqus for comments, add the shortname here. if not, leave this value blank. + +host: 127.0.0.1 +# the preview server used. Leave as is. + +port: 4000 +# the port where the preview is rendered. You can leave this as is unless you have other Jekyll builds using this same port that might cause conflicts. in that case, use another port such as 4006. + +exclude: + - .idea/ + - .gitignore +# these are the files and directories that jekyll will exclude from the build + +feedback_subject_line: Jekyll documentation theme + +feedback_email: tomjohnson1492@gmail.com +# used as a contact email for the Feedback link in the top navigation bar + +# feedback_disable: true +# if you uncomment the previous line, the Feedback link gets removed + +# feedback_text: "Need help?" +# if you uncomment the previous line, it changes the Feedback text + +# feedback_link: "http://helpy.io/" +# if you uncomment the previous line, it changes where the feedback link points to + +highlighter: rouge +# library used for syntax highlighting + +markdown: kramdown +kramdown: + input: GFM + auto_ids: true + hard_wrap: false + syntax_highlighter: rouge + +# filter used to process markdown. note that kramdown differs from github-flavored markdown in some subtle ways + +collections: + tooltips: + output: false +# collections are declared here. this renders the content in _tooltips and processes it, but doesn't output it as actual files in the output unless you change output to true + +defaults: + - + scope: + path: "" + type: "pages" + values: + layout: "page" + comments: true + search: true + sidebar: home_sidebar + - + scope: + path: "" + type: "tooltips" + values: + layout: "page" + comments: true + search: true + tooltip: true + + - + scope: + path: "" + type: "posts" + values: + layout: "post" + comments: true + search: true + sidebar: home_sidebar + +# these are defaults used for the frontmatter for these file types + +sidebars: +- home_sidebar +- mydoc_sidebar +- product1_sidebar +- product2_sidebar +- other + +description: "Intended as a documentation theme based on Jekyll for technical writers documenting software and other technical products, this theme has all the elements you would need to handle multiple products with both multi-level sidebar navigation, tags, and other documentation features." +# the description is used in the feed.xml file + +# needed for sitemap.xml file only +url: http://idratherbewriting.com diff --git a/docs/_data/alerts.yml b/docs/_data/alerts.yml new file mode 100755 index 00000000..157e1622 --- /dev/null +++ b/docs/_data/alerts.yml @@ -0,0 +1,15 @@ +tip: '