From e07ee7d07d8bd7f3091ac333fbd90b3b29a2153e Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:25:16 -0300 Subject: [PATCH 001/147] GraphViz support in workspace Issue #1003 --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 11 +++++++++++ 3 files changed, 13 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 2e6a7ea5..22049d0e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -88,6 +88,7 @@ services: - INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT} - INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE} - INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG} + - INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} diff --git a/env-example b/env-example index 25ebcb7e..b0cb7dcd 100644 --- a/env-example +++ b/env-example @@ -114,6 +114,7 @@ WORKSPACE_INSTALL_DUSK_DEPS=false WORKSPACE_INSTALL_PG_CLIENT=false WORKSPACE_INSTALL_SWOOLE=false WORKSPACE_INSTALL_LIBPNG=false +WORKSPACE_INSTALL_GRAPHVIZ=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_CHROME_DRIVER_VERSION=2.32 diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4f1e4645..6d252364 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -377,6 +377,17 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \ apt install libpng16-16 \ ;fi +########################################################################### +# GraphViz extension +########################################################################### + +ARG INSTALL_GRAPHVIZ=false + +RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \ + apt-get update && \ + apt-get install -y graphviz \ +;fi + ########################################################################### # Drupal Console: ########################################################################### From 7aba9991f658d78eda59db04f67c3ff5d11bc4c1 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:26:27 -0300 Subject: [PATCH 002/147] Conflict merge --- docker-compose.yml | 2 +- .../docker-entrypoint-initdb.d/createdb.sql.example | 12 ++++++------ nginx/sites/{default.conf => default.conf.example} | 0 workspace/Dockerfile | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) rename nginx/sites/{default.conf => default.conf.example} (100%) diff --git a/docker-compose.yml b/docker-compose.yml index d9566e85..8b2cbd13 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -685,7 +685,7 @@ services: networks: - frontend - backend - + ### Solr ################################################ solr: build: diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example index 6420afb8..dc48e59b 100644 --- a/mysql/docker-entrypoint-initdb.d/createdb.sql.example +++ b/mysql/docker-entrypoint-initdb.d/createdb.sql.example @@ -16,13 +16,13 @@ # mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql # -#CREATE DATABASE IF NOT EXISTS `dev_db_1` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ; +CREATE DATABASE IF NOT EXISTS `finance_control` COLLATE 'utf8_general_ci' ; +GRANT ALL ON `finance_control`.* TO 'fincon'@'%' IDENTIFIED BY 'fincon'; -#CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; +-- CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; +-- GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; -#CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; +-- CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; +-- GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; FLUSH PRIVILEGES ; diff --git a/nginx/sites/default.conf b/nginx/sites/default.conf.example similarity index 100% rename from nginx/sites/default.conf rename to nginx/sites/default.conf.example diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6d252364..36e44375 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -787,7 +787,7 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ USER root RUN apt-get update -yqq \ - && apt-get -yqq install nasm + && apt-get -yqq install nasm ########################################################################### # Dusk Dependencies: From d04fa78a75f614819faf873ee1dc94e97998ec56 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:39:52 -0300 Subject: [PATCH 003/147] Removed invalid example file --- .../createdb.sql.example | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 mysql/docker-entrypoint-initdb.d/createdb.sql.example diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example deleted file mode 100644 index dc48e59b..00000000 --- a/mysql/docker-entrypoint-initdb.d/createdb.sql.example +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copy createdb.sql.example to createdb.sql -# then uncomment then set database name and username to create you need databases -# -# example: .env MYSQL_USER=appuser and need db name is myshop_db -# -# CREATE DATABASE IF NOT EXISTS `myshop_db` ; -# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ; -# -# -# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found. -# -# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution: -# -# docker-compose exec mysql bash -# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql -# - -CREATE DATABASE IF NOT EXISTS `finance_control` COLLATE 'utf8_general_ci' ; -GRANT ALL ON `finance_control`.* TO 'fincon'@'%' IDENTIFIED BY 'fincon'; - --- CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; --- GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; - --- CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; --- GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; - -FLUSH PRIVILEGES ; From e526e46e60beff6d2bf5ecb5395d8265f3994a36 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Fri, 20 Jul 2018 19:14:11 -0300 Subject: [PATCH 004/147] MySQL create DB example. --- .../createdb.sql.example | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 mysql/docker-entrypoint-initdb.d/createdb.sql.example diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example new file mode 100644 index 00000000..6420afb8 --- /dev/null +++ b/mysql/docker-entrypoint-initdb.d/createdb.sql.example @@ -0,0 +1,28 @@ +# +# Copy createdb.sql.example to createdb.sql +# then uncomment then set database name and username to create you need databases +# +# example: .env MYSQL_USER=appuser and need db name is myshop_db +# +# CREATE DATABASE IF NOT EXISTS `myshop_db` ; +# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ; +# +# +# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found. +# +# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution: +# +# docker-compose exec mysql bash +# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql +# + +#CREATE DATABASE IF NOT EXISTS `dev_db_1` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ; + +#CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; + +#CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; + +FLUSH PRIVILEGES ; From c4a99cce57da0d47632586c6ee73de9c59d7d9ab Mon Sep 17 00:00:00 2001 From: Zack Craig Date: Fri, 2 Aug 2019 09:02:52 -0400 Subject: [PATCH 005/147] Add en_US.UTF-8 to the default list of extra locales Feel free to decline this, but I thought maybe adding US English to the default list of extra locales may be beneficial? --- env-example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env-example b/env-example index 0e80c21b..214b828b 100644 --- a/env-example +++ b/env-example @@ -191,7 +191,7 @@ PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_FFMPEG=false -PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" +PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" ### PHP_WORKER ############################################ @@ -770,4 +770,4 @@ CASSANDRA_ENABLE_RPC=true # Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1. CASSANDRA_DATACENTER=dc1 # Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1. -CASSANDRA_RACK=rack1 \ No newline at end of file +CASSANDRA_RACK=rack1 From 8ecd35d2e9ba7c18de7b281a6287379d806f1fb7 Mon Sep 17 00:00:00 2001 From: Dan Wilson Date: Wed, 15 Jan 2020 12:01:35 -0500 Subject: [PATCH 006/147] Added wkhtmltopdf installation to both Workspace and PHP-FPM --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 20 ++++++++++++++++++++ workspace/Dockerfile | 20 ++++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index fdab1416..c935c83e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -138,6 +138,7 @@ services: - INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE} - INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR} - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} + - INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} - http_proxy - https_proxy @@ -217,6 +218,7 @@ services: - INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} + - INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} diff --git a/env-example b/env-example index c521fd04..82234e8c 100644 --- a/env-example +++ b/env-example @@ -155,6 +155,7 @@ WORKSPACE_CHROME_DRIVER_VERSION=2.42 WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 WORKSPACE_INSTALL_FFMPEG=false +WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 @@ -210,6 +211,7 @@ PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false +PHP_FPM_INSTALL_WKHTMLTOPDF=false PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" PHP_FPM_DEFAULT_LOCALE=POSIX diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 74b072ee..24b6c6ec 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -846,6 +846,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +##################################### +# wkhtmltopdf: +##################################### + +USER root + +ARG INSTALL_WKHTMLTOPDF=false + +RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ + apt-get install -y \ + libxrender1 \ + libfontconfig1 \ + libx11-dev \ + libjpeg62 \ + libxtst6 \ + wget \ + && wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \ + && chmod +x /usr/local/bin/wkhtmltopdf \ +;fi + ########################################################################### # Mailparse extension: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6223e0a2..a5f3d280 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1231,6 +1231,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +##################################### +# wkhtmltopdf: +##################################### + +USER root + +ARG INSTALL_WKHTMLTOPDF=false + +RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ + apt-get install -y \ + libxrender1 \ + libfontconfig1 \ + libx11-dev \ + libjpeg62 \ + libxtst6 \ + wget \ + && wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \ + && chmod +x /usr/local/bin/wkhtmltopdf \ +;fi + ########################################################################### # Mailparse extension: ########################################################################### From 711b2e7449cbf6e2368cb6a1cd75413929d7a7d1 Mon Sep 17 00:00:00 2001 From: Dan Wilson Date: Wed, 15 Jan 2020 13:44:53 -0500 Subject: [PATCH 007/147] Updated documentation with wkhtmltopdf section --- DOCUMENTATION/content/documentation/index.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 14d5be03..1cafb334 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1876,7 +1876,21 @@ To install FFMPEG in the Workspace container **PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary. +
+ +## Install wkhtmltopdf +[wkhtmltopdf](https://wkhtmltopdf.org/) is a utility for outputting a PDF from HTML + +To install wkhtmltopdf in the Workspace container + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_WKHTMLTOPDF` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `wkhtmltopdf` binary. From e14e5b7caff15136fe17c12411733d04c5288c4a Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 1 Feb 2020 15:18:36 +0100 Subject: [PATCH 008/147] Fix bad style --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7f1543fe..a6cd3b29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -291,8 +291,8 @@ services: - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO} - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG} - - PUID=${PHP_WORKER_PUID} - - PGID=${PHP_WORKER_PGID} + - PUID=${LARAVEL_HORIZON_PUID} + - PGID=${LARAVEL_HORIZON_PGID} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d From f3f3dfa7240ec70f9288a1f6b8b6d5ba0de935de Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 1 Feb 2020 15:20:02 +0100 Subject: [PATCH 009/147] Add group/user id setting to horizon .env section --- env-example | 2 ++ 1 file changed, 2 insertions(+) diff --git a/env-example b/env-example index feecbd65..03d3f38f 100644 --- a/env-example +++ b/env-example @@ -254,6 +254,8 @@ LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_FFMPEG=false +LARAVEL_HORIZON_PGID=1000 +LARAVEL_HORIZON_PUID=1000 ### APACHE ################################################ From 3fe18368bd7b0a1596bd6efaa3ec30f8be17d09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Tue, 11 Feb 2020 14:58:08 -0300 Subject: [PATCH 010/147] Added option to map vue-cli ports from workspace container --- DOCUMENTATION/content/documentation/index.md | 16 +++++++++++++--- docker-compose.yml | 2 ++ env-example | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 91127676..5fbe085f 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -560,8 +560,14 @@ composer update ```bash phpunit ``` - - +``` +vue serve +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_SERVE_HOST_PORT]`) +``` +vue ui +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_UI_HOST_PORT]`) @@ -1890,7 +1896,11 @@ To install NPM VUE CLI in the Workspace container 2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true` -3 - Re-build the container `docker-compose build workspace` +3 - Change `vue serve` port using `WORKSPACE_VUE_CLI_SERVE_HOST_PORT` if you wish to (default value is 8080) + +4 - Change `vue ui` port using `WORKSPACE_VUE_CLI_UI_HOST_PORT` if you wish to (default value is 8001) + +5 - Re-build the container `docker-compose build workspace` diff --git a/docker-compose.yml b/docker-compose.yml index 72e8645f..084aff4f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -150,6 +150,8 @@ services: - "dockerhost:${DOCKER_HOST_IP}" ports: - "${WORKSPACE_SSH_PORT}:22" + - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" + - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} diff --git a/env-example b/env-example index 05358cf2..2503842a 100644 --- a/env-example +++ b/env-example @@ -159,6 +159,8 @@ WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 +WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 ### PHP_FPM ############################################### From ab4e06f270ae83d6e41702b2b652a980b12816ce Mon Sep 17 00:00:00 2001 From: Jordy Schreuders <3071062+99linesofcode@users.noreply.github.com> Date: Fri, 14 Feb 2020 15:15:04 +0100 Subject: [PATCH 011/147] Default to host.docker.internal --- php-fpm/xdebug.ini | 5 ++--- workspace/xdebug.ini | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index c3f32ece..ba50bb85 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -1,7 +1,7 @@ ; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini) -; xdebug.remote_host=dockerhost -xdebug.remote_connect_back=1 +xdebug.remote_host="host.docker.internal" +xdebug.remote_connect_back=0 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM @@ -17,4 +17,3 @@ xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 - diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index c3f32ece..ba50bb85 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -1,7 +1,7 @@ ; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini) -; xdebug.remote_host=dockerhost -xdebug.remote_connect_back=1 +xdebug.remote_host="host.docker.internal" +xdebug.remote_connect_back=0 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM @@ -17,4 +17,3 @@ xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 - From 6eeb0c838864dd3bbbae399c62ad47cbac84fb93 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Tue, 18 Feb 2020 09:56:45 +0800 Subject: [PATCH 012/147] xdebug drop support php7.0 --- php-fpm/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 85f30b9c..fbe8a3ac 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -189,7 +189,11 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ pecl install xdebug-2.5.5; \ else \ - pecl install xdebug; \ + if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ + pecl install xdebug-2.9.0; \ + else \ + pecl install xdebug; \ + fi \ fi && \ docker-php-ext-enable xdebug \ ;fi From 884e481c0c874f8d6748da1cbd9bf7e347db8b67 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Tue, 18 Feb 2020 13:45:23 +0800 Subject: [PATCH 013/147] fix php7.4 ssh2 extension. --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index fbe8a3ac..b89af535 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -107,7 +107,7 @@ RUN if [ ${INSTALL_SSH2} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ pecl install -a ssh2-0.13; \ else \ - pecl install -a ssh2-1.1.2; \ + pecl install -a ssh2-1.2; \ fi && \ docker-php-ext-enable ssh2 \ ;fi From 8f411417f5ab7ad17c46ca27ee25cf001c25f317 Mon Sep 17 00:00:00 2001 From: metalcamp <21967668+metalcamp@users.noreply.github.com> Date: Tue, 18 Feb 2020 19:37:00 +0100 Subject: [PATCH 014/147] fix: use native mysql password as default auth fixes connection refused errors described here: https://github.com/laradock/laradock/issues/1752 https://github.com/laradock/laradock/issues/2105 --- mysql/my.cnf | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql/my.cnf b/mysql/my.cnf index e03ccf88..1a6f2362 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -8,3 +8,4 @@ [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8 +default-authentication-plugin=mysql_native_password From cb574599ca82b1609dddd4fec108e031a8adc11d Mon Sep 17 00:00:00 2001 From: Mario Kranjec Date: Wed, 19 Feb 2020 12:44:06 +0100 Subject: [PATCH 015/147] fix: mysql-client has no installation candidate --- php-fpm/Dockerfile | 4 ---- php-worker/Dockerfile | 4 ---- 2 files changed, 8 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index b89af535..c638e689 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -810,11 +810,7 @@ USER root ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apt-get -y install default-mysql-client \ - ;else \ - apt-get -y install mysql-client \ - ;fi \ ;fi ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 47170541..5b2319e8 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -96,11 +96,7 @@ RUN set -eux; \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apk --update add default-mysql-client \ - ;else \ - apk --update add mysql-client \ - ;fi \ ;fi # Install FFMPEG: From 51ff09c18706eb0dd0d8663c940c38697d89482f Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Mon, 24 Feb 2020 13:31:52 +0800 Subject: [PATCH 016/147] horizon zip ext. --- docker-compose.yml | 1 + env-example | 1 + laravel-horizon/Dockerfile | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a0266f87..5e5e25cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -302,6 +302,7 @@ services: - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} + - INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} diff --git a/env-example b/env-example index 89e4a10f..27b1bf4c 100644 --- a/env-example +++ b/env-example @@ -262,6 +262,7 @@ LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false +LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_FFMPEG=false diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index e8ca7abd..b8797ff4 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -79,6 +79,20 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ && docker-php-ext-install pdo_pgsql \ ;fi +# Install ZipArchive: +ARG INSTALL_ZIP_ARCHIVE=false +RUN set -eux; \ + if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ + apk --update add libzip-dev && \ + if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \ + docker-php-ext-configure zip; \ + else \ + docker-php-ext-configure zip --with-libzip; \ + fi && \ + # Install the zip extension + docker-php-ext-install zip \ +;fi + # Install PhpRedis package: ARG INSTALL_PHPREDIS=false RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ From 18ca604537913e3a5fa0dfeac80e2a122ac6a576 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Mon, 24 Feb 2020 13:53:54 +0800 Subject: [PATCH 017/147] php worker horizon support gd ext. --- docker-compose.yml | 2 ++ env-example | 2 ++ laravel-horizon/Dockerfile | 7 +++++++ php-worker/Dockerfile | 7 +++++++ 4 files changed, 18 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a0266f87..5c5da362 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -266,6 +266,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2} + - INSTALL_GD=${PHP_WORKER_INSTALL_GD} - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} @@ -300,6 +301,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} + - INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} diff --git a/env-example b/env-example index 89e4a10f..25695870 100644 --- a/env-example +++ b/env-example @@ -227,6 +227,7 @@ PHP_FPM_PGID=1000 ### PHP_WORKER ############################################ PHP_WORKER_INSTALL_BZ2=false +PHP_WORKER_INSTALL_GD=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false @@ -259,6 +260,7 @@ NGINX_SSL_PATH=./nginx/ssl/ ### LARAVEL_HORIZON ################################################ LARAVEL_HORIZON_INSTALL_BZ2=false +LARAVEL_HORIZON_INSTALL_GD=false LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index e8ca7abd..bb06711a 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2 \ ;fi +#Install GD package: +ARG INSTALL_GD=false +RUN if [ ${INSTALL_GD} = true ]; then \ + apk add --update --no-cache libpng-dev; \ + docker-php-ext-install gd \ +;fi + #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 47170541..2add1ed0 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2; \ fi +#Install GD package: +ARG INSTALL_GD=false +RUN if [ ${INSTALL_GD} = true ]; then \ + apk add --update --no-cache libpng-dev; \ + docker-php-ext-install gd \ +;fi + #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ From e8dbb0e0f19933e9b00d2cc02cc74c3345273d65 Mon Sep 17 00:00:00 2001 From: Gino Pane Date: Tue, 25 Feb 2020 22:26:03 +0300 Subject: [PATCH 018/147] Fix #2506 Updates: - AST extension is no longer installed for unsupported PHP versions --- workspace/Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 07c99ad1..48d9ebc0 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -585,10 +585,13 @@ ARG AST_VERSION=1.0.3 ENV AST_VERSION ${AST_VERSION} RUN if [ ${INSTALL_AST} = true ]; then \ - # Install AST extension - printf "\n" | pecl -q install ast-${AST_VERSION} && \ - echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \ - phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \ + # AST extension requires PHP 7.0.0 or newer + if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \ + # Install AST extension + printf "\n" | pecl -q install ast-${AST_VERSION} && \ + echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \ + phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \ + ;fi \ ;fi ########################################################################### From 5a78f09eb4098410c01c65985772c9df8d657aa0 Mon Sep 17 00:00:00 2001 From: BAGArt Date: Wed, 26 Feb 2020 09:40:06 +0300 Subject: [PATCH 019/147] Update index.md add Laradock Multi --- DOCUMENTATION/content/related-projects/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index a55343fb..f3c2aff0 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,7 +1,7 @@ --- -title: 6. Related Projects +title: 9. Related Projects type: index -weight: 6 +weight: 9 --- Laradock related projects: @@ -15,5 +15,7 @@ These Docker Compose projects have piqued our interest: * [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti) * [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea) * [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) +* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template +for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) If you want your project listed here, please open an issue. From 29f7cbdc7e1f8979351969aa9e20c7fea5ccaeb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Tue, 3 Mar 2020 15:14:33 -0300 Subject: [PATCH 020/147] Added option to map Browsersync ports from workspace container --- DOCUMENTATION/content/documentation/index.md | 25 ++++++++++++++++++++ docker-compose.yml | 2 ++ env-example | 2 ++ 3 files changed, 29 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8bf6247f..070ecdee 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -617,6 +617,31 @@ docker-compose up -d php-worker +
+ +## Use Browsersync with Laravel Mix + +1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options. +``` +const mix = require('laravel-mix') + +(...) + +mix.browserSync({ + open: false, + proxy: 'nginx' // replace with your web server container +}) +``` + +2. Run `npm run watch` within your `workspace` container. + +3. Open your browser and visit address `http://localhost:[WORKSPACE_BROWSERSYNC_HOST_PORT]`. It will refresh the page automatically whenever you edit any source file in your project. + +4. If you wish to access Browsersync UI for your project, visit address `http://localhost:[WORKSPACE_BROWSERSYNC_UI_HOST_PORT]`. + + + +
## Use Mailu diff --git a/docker-compose.yml b/docker-compose.yml index 63dbdedd..9e92bbfc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -153,6 +153,8 @@ services: - "dockerhost:${DOCKER_HOST_IP}" ports: - "${WORKSPACE_SSH_PORT}:22" + - "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000" + - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001" - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" tty: true diff --git a/env-example b/env-example index 43d913de..c6993291 100644 --- a/env-example +++ b/env-example @@ -160,6 +160,8 @@ WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_BROWSERSYNC_HOST_PORT=3000 +WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001 WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_INSTALL_GIT_PROMPT=false From 62747a2870adc967076de368040326dc69d1f268 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 12 Mar 2020 09:39:45 +0800 Subject: [PATCH 021/147] Update Dockerfile php-worker fix add package name --- php-worker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 5b2319e8..8b18ba8a 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -96,7 +96,7 @@ RUN set -eux; \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - apk --update add default-mysql-client \ + apk --update add mysql-client \ ;fi # Install FFMPEG: From c5c8c9bc8587b4e533e028f6f16177468014f3b3 Mon Sep 17 00:00:00 2001 From: pushorigin Date: Fri, 13 Mar 2020 03:16:39 +0300 Subject: [PATCH 022/147] new feature: Install Oh My ZSH! with Laravel autocomplete plugin --- DOCUMENTATION/content/documentation/index.md | 31 ++++++++++++++++---- docker-compose.yml | 1 + env-example | 8 ++++- workspace/Dockerfile | 31 ++++++++++++++++++++ 4 files changed, 64 insertions(+), 7 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8bf6247f..c6e54cab 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -793,20 +793,20 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con ## Use Varnish The goal was to proxy request to varnish server using nginx. So only nginx has been configured for Varnish proxy. -Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). +Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). -The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) +The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) The Varnish configuration was developed and tested for Wordpress only. Probably it works with other systems. #### Steps to configure varnish proxy server: 1. You have to set domain name for VARNISH_PROXY1_BACKEND_HOST variable. 2. If you want to use varnish for different domains, you have to add new configuration section in your env file. - ``` + ``` VARNISH_PROXY1_CACHE_SIZE=128m VARNISH_PROXY1_BACKEND_HOST=replace_with_your_domain.name VARNISH_PROXY1_SERVER=SERVER1 - ``` + ``` 3. Then you have to add new config section into docker-compose.yml with related variables: ``` custom_proxy_name: @@ -828,7 +828,7 @@ The Varnish configuration was developed and tested for Wordpress only. Probably - workspace networks: - frontend - ``` + ``` 4. change your varnish config and add nginx configuration. Example Nginx configuration is here: `nginx/sites/laravel_varnish.conf.example`. 5. `varnish/default.vcl` is old varnish configuration, which was used in the previous version. Use `default_wordpress.vcl` instead. @@ -2011,7 +2011,7 @@ To install Supervisor in the Workspace container 3 - Create supervisor configuration file (for ex., named `laravel-worker.conf`) for Laravel Queue Worker in `php-worker/supervisord.d/` by simply copy from `laravel-worker.conf.example` -4 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` +4 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` @@ -2162,8 +2162,27 @@ A bash prompt that displays information about the current git repository. In par **Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container. For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt). +
+ +## Install Oh My ZSH! with Laravel autocomplete plugin +[Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. +[Oh My Zsh](https://ohmyz.sh/) is a delightful, open source, community-driven framework for managing your Zsh configuration. + +[Laravel autocomplete plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/laravel) adds aliases and autocompletion for Laravel Artisan and Bob command-line interfaces. + +1 - Open the `.env` file + +2 - Search for the `SHELL_OH_MY_ZSH` argument under the Workspace Container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace` + +5 - Use it `docker-compose exec --user=laradock workspace zsh` + +**Note** You can configure Oh My ZSH by editing the `/home/laradock/.zshrc` in running container.
diff --git a/docker-compose.yml b/docker-compose.yml index 63dbdedd..5c353a28 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,6 +60,7 @@ services: context: ./workspace args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH} - UBUNTU_SOURCE=${UBUNTU_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} diff --git a/env-example b/env-example index 43d913de..66617805 100644 --- a/env-example +++ b/env-example @@ -78,6 +78,12 @@ UBUNTU_SOURCE=aliyun # If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required DOCKER_SYNC_STRATEGY=native_osx +### Install Oh My ZSH! #################################### + +# If you want to use "Oh My ZSH!" with Laravel autocomplete plugin, set SHELL_OH_MY_ZSH to true. + +SHELL_OH_MY_ZSH=false + ########################################################### ################ Containers Customization ################# ########################################################### @@ -859,7 +865,7 @@ GEARMAN_MYSQL_PORT=3306 # Mysql server user (Default: root) GEARMAN_MYSQL_USER=root # Mysql password -GEARMAN_MYSQL_PASSWORD= +GEARMAN_MYSQL_PASSWORD= # Path to file with mysql password(Docker secrets) GEARMAN_MYSQL_PASSWORD_FILE= # Database to use by Gearman (Default: Gearmand) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 48d9ebc0..8d00c478 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1304,6 +1304,37 @@ RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \ RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}." +########################################################################### +# Oh My ZSH! +########################################################################### + +USER root + +ARG SHELL_OH_MY_ZSH=false +RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \ + apt install -y zsh \ +;fi + +USER laradock +RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \ + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --keep-zshrc" && \ + sed -i -r 's/^plugins=\(.*?\)$/plugins=(laravel5)/' /home/laradock/.zshrc && \ + echo '\n\ +bindkey "^[OB" down-line-or-search\n\ +bindkey "^[OC" forward-char\n\ +bindkey "^[OD" backward-char\n\ +bindkey "^[OF" end-of-line\n\ +bindkey "^[OH" beginning-of-line\n\ +bindkey "^[[1~" beginning-of-line\n\ +bindkey "^[[3~" delete-char\n\ +bindkey "^[[4~" end-of-line\n\ +bindkey "^[[5~" up-line-or-history\n\ +bindkey "^[[6~" down-line-or-history\n\ +bindkey "^?" backward-delete-char\n' >> /home/laradock/.zshrc \ +;fi + +USER root + # #-------------------------------------------------------------------------- # Final Touch From c4c2f9130624bcdae03862e07f7bc8a44a35bed8 Mon Sep 17 00:00:00 2001 From: "DESK0253\\Leo" Date: Wed, 8 Apr 2020 09:57:00 +0800 Subject: [PATCH 023/147] fix: change sources shell permission denied --- workspace/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 8d00c478..f90679b8 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -50,6 +50,7 @@ ARG UBUNTU_SOURCE COPY ./sources.sh /tmp/sources.sh RUN if [ ${CHANGE_SOURCE} = true ]; then \ + chmod +x /tmp/sources.sh && \ /bin/sh -c /tmp/sources.sh && \ rm -rf /tmp/sources.sh \ ;fi From 102d3c88287eb3882f7e2a24c2825bc02474c479 Mon Sep 17 00:00:00 2001 From: Jeremy Nikolic Date: Fri, 10 Apr 2020 10:15:58 +0200 Subject: [PATCH 024/147] Add ElasticSearch plugin command alternative for ES >5.0 versions --- DOCUMENTATION/content/documentation/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8cb4aa92..f573a651 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1209,6 +1209,12 @@ docker-compose up -d elasticsearch ```bash docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} ``` +For ElasticSearch 5.0 and above, the previous "plugin" command as been renamed to "elasticsearch-plguin". +Use the following instead: + +```bash +docker-compose exec elasticsearch /usr/share/elasticsearch/bin/elasticsearch-plugin install {plugin-name} +``` 2 - Restart elasticsearch container From a2581bda5f99f2dcac11a3f006e7f1f2873f5691 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Fri, 17 Apr 2020 11:57:50 +0800 Subject: [PATCH 025/147] use latest base image --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 3 ++- workspace/Dockerfile | 3 ++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 53bf2c9e..3864bdec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,6 +62,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH} - UBUNTU_SOURCE=${UBUNTU_SOURCE} + - BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} @@ -177,6 +178,7 @@ services: context: ./php-fpm args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - BASE_IMAGE_TAG_PREFIX=${PHP_FPM_BASE_IMAGE_TAG_PREFIX} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2} diff --git a/env-example b/env-example index 0d52acb0..ee6eee4b 100644 --- a/env-example +++ b/env-example @@ -90,6 +90,7 @@ SHELL_OH_MY_ZSH=false ### WORKSPACE ############################################# +WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest WORKSPACE_COMPOSER_GLOBAL_INSTALL=true WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_REPO_PACKAGIST= @@ -174,6 +175,7 @@ WORKSPACE_INSTALL_GIT_PROMPT=false ### PHP_FPM ############################################### +PHP_FPM_BASE_IMAGE_TAG_PREFIX=latest PHP_FPM_INSTALL_BCMATH=true PHP_FPM_INSTALL_MYSQLI=true PHP_FPM_INSTALL_INTL=true diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index c638e689..9d5f895d 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -13,7 +13,8 @@ # ARG LARADOCK_PHP_VERSION -FROM laradock/php-fpm:2.7-${LARADOCK_PHP_VERSION} +ARG BASE_IMAGE_TAG_PREFIX=latest +FROM laradock/php-fpm:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f90679b8..4a105bb4 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -13,7 +13,8 @@ # ARG LARADOCK_PHP_VERSION -FROM laradock/workspace:2.6.1-${LARADOCK_PHP_VERSION} +ARG BASE_IMAGE_TAG_PREFIX=latest +FROM laradock/workspace:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From e2331171b0f6d52f7a49b943a62f621df04487eb Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:10:40 +0800 Subject: [PATCH 026/147] use Github Actions run CI --- .github/workflows/main-ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/main-ci.yml diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml new file mode 100644 index 00000000..5d21097f --- /dev/null +++ b/.github/workflows/main-ci.yml @@ -0,0 +1,19 @@ +name: Docker Image CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + php_version: [72, 73] + service: [php-fpm, php-worker] + steps: + - uses: actions/checkout@v2 + - name: Build the Docker image + env: + PHP_VERSION: ${{ matrix.php_version }} + run: | + cp env-example .env + docker-compose build ${{ matrix.service }} From 941960df82d295919c036eb7812a01a437a4690e Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:12:57 +0800 Subject: [PATCH 027/147] Update main-ci.yml --- .github/workflows/main-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 5d21097f..11e7c0a7 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: [72, 73] + php_version: ["7.2", "7.3"] service: [php-fpm, php-worker] steps: - uses: actions/checkout@v2 From fbaaff619ac5f772a52c6d4822a7dd786879cd5b Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:14:06 +0800 Subject: [PATCH 028/147] Update main-ci.yml --- .github/workflows/main-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 11e7c0a7..e301d432 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -12,8 +12,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Build the Docker image - env: - PHP_VERSION: ${{ matrix.php_version }} run: | cp env-example .env + sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${{ matrix.php_version }}/g" .env docker-compose build ${{ matrix.service }} From e6eb2ef1eb67f1249fba6fed2fb847385093279b Mon Sep 17 00:00:00 2001 From: Jefferson Santos Date: Fri, 17 Apr 2020 02:54:29 -0300 Subject: [PATCH 029/147] Fix Deployer documentation link --- DOCUMENTATION/content/documentation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index f573a651..62949147 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -395,7 +395,7 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube. 4 - Re-build the containers `docker-compose build workspace` -[**Deployer Documentation Here**](https://deployer.org/docs) +[**Deployer Documentation Here**](https://deployer.org/docs/getting-started.html) From 56e10f119827042c0d5b52c02e17b81f5578e2fe Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 14:03:08 +0800 Subject: [PATCH 030/147] Update main-ci.yml --- .github/workflows/main-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index e301d432..e01d283a 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -1,4 +1,4 @@ -name: Docker Image CI +name: CI on: [push, pull_request] @@ -7,12 +7,13 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: ["7.2", "7.3"] - service: [php-fpm, php-worker] + php_version: ["7.1", "7.2", "7.3", "7.4"] + service: [php-fpm, php-worker, workspace, laravel-horizon] steps: - uses: actions/checkout@v2 - name: Build the Docker image + env: + PHP_VERSION: ${{ matrix.php_version }} run: | cp env-example .env - sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${{ matrix.php_version }}/g" .env docker-compose build ${{ matrix.service }} From 1dd78c0b0465d416961fcb1c7e6aff9bcc4b171a Mon Sep 17 00:00:00 2001 From: Carlos Clayton Date: Mon, 20 Apr 2020 08:00:13 -0300 Subject: [PATCH 031/147] Installing Filebeat plugin Add support to Filebeat with logstash-input-beats plugin --- logstash/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/logstash/Dockerfile b/logstash/Dockerfile index 161d381e..1a1a753c 100644 --- a/logstash/Dockerfile +++ b/logstash/Dockerfile @@ -8,4 +8,5 @@ ADD ./pipeline/ /usr/share/logstash/pipeline/ ADD ./config/ /usr/share/logstash/config/ RUN logstash-plugin install logstash-input-jdbc +RUN logstash-plugin install logstash-input-beats From 2fd9ccff6a50729ae833dd91484c73881f401c60 Mon Sep 17 00:00:00 2001 From: Pierre Grimaud Date: Fri, 24 Apr 2020 01:16:34 +0200 Subject: [PATCH 032/147] Fix typos --- DOCUMENTATION/content/contributing/index.md | 2 +- env-example | 2 +- workspace/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index dbe3efb8..78798a91 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -100,7 +100,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI * Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source.. -*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.* +*Most of the image in Laradock are official images, these projects live in other repositories and maintainer by other organizations.* **Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine. diff --git a/env-example b/env-example index ee6eee4b..856f8426 100644 --- a/env-example +++ b/env-example @@ -32,7 +32,7 @@ COMPOSE_FILE=docker-compose.yml # Change the separator from : to ; on Windows COMPOSE_PATH_SEPARATOR=: -# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project. +# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have separate containers per project. COMPOSE_PROJECT_NAME=laradock ### PHP Version ########################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4a105bb4..57afb563 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -75,7 +75,7 @@ RUN set -xe; \ # to add more Software's or remove existing one, you need to edit the # base image (https://github.com/Laradock/workspace). # - # next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 + # next lines are here because there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 libzip-dev zip unzip \ # Install the zip extension php${LARADOCK_PHP_VERSION}-zip \ From 5a28b9c4d87fceb7845332127fc3a489a499e51a Mon Sep 17 00:00:00 2001 From: Yidir <9355724+Yiidiir@users.noreply.github.com> Date: Tue, 28 Apr 2020 03:12:26 +0100 Subject: [PATCH 033/147] Expose Angular CLI serve port When enabling angular, exposure to the default serve port is not done normally like it's done with VUE CLI --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3864bdec..fcb7df32 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -159,6 +159,7 @@ services: - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001" - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" + - "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200" tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} From 4797c38199531eb8b6d575adc59b23267fd7404d Mon Sep 17 00:00:00 2001 From: Subhadip Naskar Date: Tue, 28 Apr 2020 10:29:25 +0530 Subject: [PATCH 034/147] Added DockerStacks link to related projects --- DOCUMENTATION/content/related-projects/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index f3c2aff0..c14aa2d5 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,7 +1,7 @@ --- -title: 9. Related Projects +title: 10. Related Projects type: index -weight: 9 +weight: 10 --- Laradock related projects: @@ -17,5 +17,6 @@ These Docker Compose projects have piqued our interest: * [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) * [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) +* [DockerStacks](https://github.com/sfx101/docker-stacks) by [Subhadip Naskar](https://github.com/sfx101) - DockerStacks is a laradock GUI build on top of docker, electron.js, node-pty, xterm.js and the awesome laradock If you want your project listed here, please open an issue. From 5824676e30645a32a43a23528d2150efe1e93dfd Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Wed, 29 Apr 2020 07:10:47 +0200 Subject: [PATCH 035/147] Improve docs readability & performance --- .github/FUNDING.yml | 1 + DOCUMENTATION/config.toml | 21 ++---- DOCUMENTATION/content/contributing/index.md | 20 +++-- DOCUMENTATION/content/documentation/index.md | 70 +++++++++++------- .../content/getting-started/index.md | 28 +++---- DOCUMENTATION/content/help/index.md | 4 +- DOCUMENTATION/content/introduction/index.md | 21 ++++-- DOCUMENTATION/content/license/index.md | 7 -- .../content/related-projects/index.md | 60 +++++++++++---- .../layouts/_default/__list.html | 1 + .../layouts/_default/single.html | 1 + .../hugo-material-docs/layouts/index.html | 3 +- .../layouts/partials/head.html | 19 +++++ .../images/favicons/android-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/android-icon-192x192.png | Bin 0 -> 7505 bytes .../images/favicons/android-icon-36x36.png | Bin 0 -> 1973 bytes .../images/favicons/android-icon-48x48.png | Bin 0 -> 2440 bytes .../images/favicons/android-icon-72x72.png | Bin 0 -> 3312 bytes .../images/favicons/android-icon-96x96.png | Bin 0 -> 4382 bytes .../images/favicons/apple-icon-114x114.png | Bin 0 -> 5219 bytes .../images/favicons/apple-icon-120x120.png | Bin 0 -> 5407 bytes .../images/favicons/apple-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/apple-icon-152x152.png | Bin 0 -> 7265 bytes .../images/favicons/apple-icon-180x180.png | Bin 0 -> 8820 bytes .../images/favicons/apple-icon-57x57.png | Bin 0 -> 2743 bytes .../images/favicons/apple-icon-60x60.png | Bin 0 -> 2900 bytes .../images/favicons/apple-icon-72x72.png | Bin 0 -> 3312 bytes .../images/favicons/apple-icon-76x76.png | Bin 0 -> 3484 bytes .../favicons/apple-icon-precomposed.png | Bin 0 -> 8081 bytes .../static/images/favicons/apple-icon.png | Bin 0 -> 8081 bytes .../static/images/favicons/browserconfig.xml | 2 + .../static/images/favicons/favicon-16x16.png | Bin 0 -> 1411 bytes .../static/images/favicons/favicon-32x32.png | Bin 0 -> 1794 bytes .../static/images/favicons/favicon-96x96.png | Bin 0 -> 4382 bytes .../static/images/favicons/favicon.ico | Bin 0 -> 1150 bytes .../static/images/favicons/manifest.json | 41 ++++++++++ .../images/favicons/ms-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/ms-icon-150x150.png | Bin 0 -> 7196 bytes .../images/favicons/ms-icon-310x310.png | Bin 0 -> 19549 bytes .../static/images/favicons/ms-icon-70x70.png | Bin 0 -> 3257 bytes .../static/images/laradock-full-logo.jpg | Bin 0 -> 293572 bytes README.md | 4 +- 42 files changed, 208 insertions(+), 95 deletions(-) delete mode 100644 DOCUMENTATION/content/license/index.md create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-192x192.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-36x36.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-48x48.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-72x72.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-96x96.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-114x114.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-120x120.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-152x152.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-180x180.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-57x57.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-60x60.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-72x72.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-76x76.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-precomposed.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/browserconfig.xml create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-16x16.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-32x32.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-96x96.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon.ico create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/manifest.json create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-150x150.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-310x310.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-70x70.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/laradock-full-logo.jpg diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 40005024..cc034fc9 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -3,3 +3,4 @@ github: Mahmoudz open_collective: laradock custom: ['paypal.me/mzmmzz'] +patreon: zalt diff --git a/DOCUMENTATION/config.toml b/DOCUMENTATION/config.toml index 56e4fe03..d6c3a732 100644 --- a/DOCUMENTATION/config.toml +++ b/DOCUMENTATION/config.toml @@ -20,8 +20,8 @@ googleAnalytics = "UA-37514928-9" repo_url = "https://github.com/laradock/laradock" version = "" - logo = "images/logo.png" - favicon = "" + logo = "images/favicons/ms-icon-310x310.png" + favicon = "images/favicons/favicon.ico" permalink = "#" @@ -48,40 +48,35 @@ googleAnalytics = "UA-37514928-9" # ------- MENU START ----------------------------------------- [[menu.main]] - name = "1. Introduction" + name = "Introduction" url = "introduction/" weight = 1 [[menu.main]] - name = "2. Getting Started" + name = "Getting Started" url = "getting-started/" weight = 2 [[menu.main]] - name = "3. Documentation" + name = "Documentation" url = "documentation/" weight = 3 [[menu.main]] - name = "4. Help & Questions" + name = "Help & Questions" url = "help/" weight = 4 [[menu.main]] - name = "5. Related Projects" + name = "Related Projects" url = "related-projects/" weight = 5 [[menu.main]] - name = "6. Contributing" + name = "Contributions" url = "contributing/" weight = 6 -[[menu.main]] - name = "7. License" - url = "license/" - weight = 7 - # ------- MENU END ----------------------------------------- [blackfriday] diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index dbe3efb8..0b019419 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -1,7 +1,7 @@ --- -title: 7. Contributing +title: Contributions type: index -weight: 7 +weight: 6 --- @@ -51,12 +51,20 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI ### Host the documentation locally +**Option 1: Use Hugo Docker Image:** + +1. Update the `DOCUMENTATION/content`. +2. Go to `DOCUMENTATION/`. +3. Run `docker run --rm -it -v $PWD:/src -p 1313:1313 -u hugo jguyomard/hugo-builder hugo server -w --bind=0.0.0.0` +4. Visit [http://localhost:1313/](http://localhost:1313/) + +**Option 2: Install Hugo Locally:** + 1. Install [Hugo](https://gohugo.io/) on your machine. -2. Edit the `DOCUMENTATION/content`. +2. Update the `DOCUMENTATION/content`. 3. Delete the `/docs` folder from the root. -4. After you finish the editing, go to `DOCUMENTATION/` and run the `hugo` command to generate the HTML docs (inside a new `/docs` folder). - - +4. Go to `DOCUMENTATION/`. +5. Run the `hugo` command to generate the HTML docs inside a new `/docs` folder. ## Support new Software (Add new Container) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index f573a651..5eae9a02 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1,5 +1,5 @@ --- -title: 3. Documentation +title: Documentation type: index weight: 3 --- @@ -57,7 +57,9 @@ docker-compose down
-## Enter a Container (run commands in a running Container) +## Enter a Container + +> Run commands in a running Container. 1 - First list the current running containers with `docker ps` @@ -88,7 +90,8 @@ docker-compose exec mysql mysql -udefault -psecret
-## Edit default container configuration +## Edit default Container config + Open the `docker-compose.yml` and change anything you want. Examples: @@ -161,7 +164,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo
-## Add more Software (Docker Images) +## Add more Docker Images To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/compose-file/). @@ -384,7 +387,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
-## Install Deployer (Deployment tool for PHP) +## Install Deployer + +> A deployment tool for PHP. 1 - Open the `.env` file
@@ -402,7 +407,10 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
-## Install SonarQube (automatic code review tool) +## Install SonarQube + +> An automatic code review tool. + SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
1 - Open the `.env` file @@ -463,14 +471,6 @@ To learn more about how Docker publishes ports, please read [this excellent post -
- -## Setup Laravel and Docker on Digital Ocean - -### [Full Guide Here](/guides/#Digital-Ocean) - - - @@ -483,7 +483,7 @@ To learn more about how Docker publishes ports, please read [this excellent post -## Install Laravel from a Docker Container +## Install Laravel from Container 1 - First you need to enter the Workspace Container. @@ -619,7 +619,9 @@ docker-compose up -d php-worker
-## Use Browsersync with Laravel Mix +## Use Browsersync + +> Using Use Browsersync with Laravel Mix. 1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options. ``` @@ -1731,7 +1733,9 @@ The default username and password for the root MySQL user are `root` and `root `
-## Create Multiple Databases (MySQL) +## Create Multiple Databases + +> With MySQL. Create `createdb.sql` from `mysql/docker-entrypoint-initdb.d/createdb.sql.example` in `mysql/docker-entrypoint-initdb.d/*` and add your SQL syntax as follow: @@ -1765,7 +1769,9 @@ If you need MySQL access from your host, d
-## Use custom Domain (instead of the Docker IP) +## Use custom Domain + +> How to use a custom domain, instead of the Docker IP. Assuming your custom domain is `laravel.test` @@ -1791,7 +1797,7 @@ server_name laravel.test;
-## Enable Global Composer Build Install +## 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. @@ -1810,7 +1816,9 @@ Enabling Global Composer Install during the build for the container allows you t
-## Add authentication credential for Magento 2 +## Add authentication for Magento + +> Adding authentication credentials for Magento 2. 1 - Open the `.env` file @@ -1902,7 +1910,7 @@ To install NPM GULP toolkit in the Workspace container
-## Install NPM BOWER package manager +## Install NPM BOWER To install NPM BOWER package manager in the Workspace container @@ -2088,7 +2096,9 @@ e) set it to `true`
-## Install Laravel Envoy (Envoy Task Runner) +## Install Laravel Envoy + +> A Tasks Runner. 1 - Open the `.env` file
@@ -2121,7 +2131,8 @@ e) set it to `true`
-## Install libfaketime in the php-fpm container +## Install libfaketime in php-fpm + Libfaketime allows you to control the date and time that is returned from the operating system. It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file. For example: @@ -2145,7 +2156,8 @@ will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for m
-## Install YAML PHP extension in the php-fpm container +## Install YAML extension in php-fpm + YAML PHP extension allows you to easily parse and create YAML structured data. I like YAML because it's well readable for humans. See http://php.net/manual/en/ref.yaml.php and http://yaml.org/ for more info. 1 - Open the `.env` file @@ -2195,7 +2207,9 @@ For configuration information, visit the [bash-git-prompt repository](https://gi
-## Install Oh My ZSH! with Laravel autocomplete plugin +## Install Oh My ZSH + +> With the Laravel autocomplete plugin. [Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. @@ -2226,7 +2240,9 @@ Remote debug Laravel web and phpunit tests.
-## Setup Google Cloud for docker registry +## Setup Google Cloud + +> Setting up Google Cloud for the docker registry. ``` gcloud auth configure-docker @@ -2242,7 +2258,7 @@ gcloud auth login
-## Keep track of your Laradock changes +## Track your Laradock changes 1. Fork the Laradock repository. 2. Use that fork as a submodule. diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index df193542..47108aba 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -1,18 +1,18 @@ --- -title: 2. Getting Started +title: Getting Started type: index weight: 2 --- -## 2.1 Requirements +## Requirements - [Git](https://git-scm.com/downloads) -- [Docker](https://www.docker.com/products/docker/) `>= 17.12` +- [Docker](https://www.docker.com/products/docker/) [ >= 17.12 ] -## 2.2 Installation +## Installation Choose the setup the best suits your needs. @@ -44,10 +44,10 @@ Note: If you are not using Git yet for your project, you can use `git clone` ins 2 - Make sure your folder structure should look like this: ``` -+ project-a - + laradock-a -+ project-b - + laradock-b +* project-a +* laradock-a +* project-b +* laradock-b ``` *(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).* @@ -66,8 +66,8 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-z +* laradock +* project-z ``` 2 - Edit your web server sites configuration. @@ -102,9 +102,9 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-1 -+ project-2 +* laradock +* project-1 +* project-2 ``` 2 - Go to your web server and create config files to point to different project directory when visiting different domains: @@ -136,7 +136,7 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https:// -## 2.3 Usage +## Usage **Read Before starting:** diff --git a/DOCUMENTATION/content/help/index.md b/DOCUMENTATION/content/help/index.md index 8267bc5a..dddb80a1 100644 --- a/DOCUMENTATION/content/help/index.md +++ b/DOCUMENTATION/content/help/index.md @@ -1,7 +1,7 @@ --- -title: 5. Help & Questions +title: Help & Questions type: index -weight: 5 +weight: 4 --- Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 5dcc92da..0251c3a0 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -1,13 +1,18 @@ --- -title: 1. Introduction +title: Introduction type: index weight: 1 --- -Laradock is a full PHP development environment based on Docker. +Laradock is a full PHP development environment for Docker. -Supporting a variety of common services, all pre-configured to provide a full PHP development environment. +It supports a variety of common services, all pre-configured to provide a ready PHP development environment. +
+ +--- +### Use Docker First - Then Learn About It Later! +--- ## Features @@ -26,11 +31,9 @@ Supporting a variety of common services, all pre-configured to provide a full PH - Everything is visible and editable. - Fast Images Builds. -
---- -### Use Docker First - Then Learn About It Later ---- + + ## Quick Overview @@ -73,7 +76,7 @@ That's it! enjoy :) -## Supported Software (Docker Images) +## Supported Services > Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. > You can turn On/Off as many instances as you want without worrying about the configurations. @@ -354,6 +357,8 @@ Contribute and help us sustain the project. Option 2: Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
Option 3: Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute). +
+Option 4: Become a [Patreon](https://www.patreon.com/zalt). ## Sponsors diff --git a/DOCUMENTATION/content/license/index.md b/DOCUMENTATION/content/license/index.md deleted file mode 100644 index 312b13d1..00000000 --- a/DOCUMENTATION/content/license/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 8. License -type: index -weight: 8 ---- - -[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index c14aa2d5..f7f8f46c 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,22 +1,50 @@ --- -title: 10. Related Projects +title: Related Projects type: index -weight: 10 +weight: 5 --- -Laradock related projects: +## Laradock Related Projects -* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee) -* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart) -* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao) -* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim) -These Docker Compose projects have piqued our interest: -* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal) -* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti) -* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea) -* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) -* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template -for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) -* [DockerStacks](https://github.com/sfx101/docker-stacks) by [Subhadip Naskar](https://github.com/sfx101) - DockerStacks is a laradock GUI build on top of docker, electron.js, node-pty, xterm.js and the awesome laradock +Laradock CLI is a tool for Laravel projects which automates the docker configuration setup for services, amongst other things. -If you want your project listed here, please open an issue. +* [Docker Stacks](https://github.com/sfx101/docker-stacks): A GUI for managing Laradock. (by [Subhadip Naskar](https://github.com/sfx101)) +* [Laradock CLI](https://github.com/lorinlee/laradock-cli): A CLI for managing Laradock. (by [LorinLee](https://github.com/lorinlee)) +* [Laradock CLI](https://github.com/loonpwn/laradock-cli): A CLI for managing Laradock. (by [Loonpwn](https://github.com/loonpwn)) +* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes): Ansible playbook to setup docker containers for Laravel apps using Laradock. (by [Sifat Rahim](https://github.com/sifat-rahim)) +* [Monitor Laradock](https://github.com/zeroc0d3/monitor-laradock): Laradock Monitoring Tools (using Grafana). (by [Zeroc0d3](https://github.com/zeroc0d3)) +* [Laradock Manager](https://github.com/Lyimmi/laradock-manager): A simple app for managing Laradock containers. Made with wails.app (go & vue.js & vuetify). (by [Lyimmi](https://github.com/Lyimmi)) +* [Laradock Env](https://github.com/bagart/laradock_env): A wrapper with commands for managing Laradock. (by [BAGArt](https://github.com/bagart)) +* [Lara Query](https://github.com/TanisukeGoro/laraQuery): Easy Laradock CLI. (by [TanisukeGoro](https://github.com/TanisukeGoro)) +* [Laradock CLI](https://github.com/tonysm/laradock-cli): Laradock CLI helper. (by [Tonysm](https://github.com/Tonysm)) +* [Laradock Lite](https://github.com/yangliuyu/laradock-lite): A Docker based laravel development environment with minimal dependencies. (by [Yangliuyu](https://github.com/yangliuyu)) +* [Laradock Makefile](https://github.com/bazavlukd/laradock-makefile): Makefile with some useful commands for Laradock. (by [Bazavlukd](https://github.com/bazavlukd)) +* [Laradock Build](https://github.com/dockerframework/laradock-build): Docker builder & running script for Laradock. (by [Dockerframework](https://github.com/dockerframework)) +* [Laravel Laradock PHPStorm](https://github.com/LarryEitel/laravel-laradock-phpstorm): Guide for configuring PHPStorm for remote debugging with Laravel & Laradock. (by [LarryEitel](https://github.com/LarryEitel)) +* [Laradock Crudbooster](https://github.com/nutellinoit/laradock-crudbooster): Docker compose & Kubernetes solution to build apps with crudbooster & Laradock. (by [Nutellinoit](https://github.com/nutellinoit)) +* [Laradock Sample](https://github.com/tadaken3/laradock-sample): Install Laravel with Laradock. (by [Tadaken3](https://github.com/tadaken3)) +* [Stylemix's Laradock](https://github.com/stylemix/laradock): Alternate laradock for multiproject purpose. (by [Stylemix](https://github.com/stylemix)) + + + + +## Inspired by Laradock + +* [Dockery](https://github.com/taufek/dockery): Laradock for Ruby. (by [Taufek](https://github.com/Taufek)) +* [RubyDev Dock](https://github.com/scudelletti/rubydev-dock): Laradock for Ruby. (by [Diogo Scudelletti](https://github.com/scudelletti)) +* [NoDock](https://github.com/Osedea/nodock): Laradock for NodeJS. (by [Osedea](https://github.com/Osedea)) +* [Laradock Multi](https://github.com/bagart/laradock-multi): Laradock for PHP & NodeJS. (by [BAGArt](https://github.com/bagart)) +* [Wordpress Laradock](https://github.com/shov/wordpress-laradock): Laradock for Wordpress. (by [Shov](https://github.com/shov)) +* [Yii2 Laradock](https://github.com/ydatech/yii2-laradock): Laradock for Yii2. (by [Ydatech](https://github.com/ydatech)) +* [MageDock](https://github.com/ojhaujjwal/magedock): Laradock for Magento. (by [Ujjwal Ojha](https://github.com/ojhaujjwal)) +* [Docker Codeigniter](https://github.com/sebastianlzy/docker-codeigniter): Laradock for Codeigniter. (by [Sebastianlzy](https://github.com/sebastianlzy)) +* [Klaradock](https://github.com/poyhsiao/Klaradock): A customized Laradock. (by [Kim Hsiao](https://github.com/poyhsiao)) +* [Laravel Boilerplate](https://github.com/casivaagustin/laravel-boilerplate): A boilerplate with support for JWT. (by [Casivaagustin](https://github.com/casivaagustin)) + + + + + +

+ +> Feel free to submit a PR for listing your project here. diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html index 54c2b783..fb1046a4 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html @@ -36,6 +36,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html index 050f28d2..83cf3ee3 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html @@ -32,6 +32,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html index 7f14e8b8..c09a68bf 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html @@ -39,7 +39,7 @@


- laradock logo + laradock logo {{ range where .Site.Pages "Type" "index" }}





@@ -54,6 +54,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html index e890c0a2..406f7d2d 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html @@ -36,6 +36,25 @@ + + + + + + + + + + + + + + + + + + +