From e07ee7d07d8bd7f3091ac333fbd90b3b29a2153e Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:25:16 -0300 Subject: [PATCH 01/63] 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 2e6a7ea..22049d0 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 25ebcb7..b0cb7dc 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 4f1e464..6d25236 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 02/63] 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 d9566e8..8b2cbd1 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 6420afb..dc48e59 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 6d25236..36e4437 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 03/63] 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 dc48e59..0000000 --- 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 04/63] 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 0000000..6420afb --- /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 e6eb2ef1eb67f1249fba6fed2fb847385093279b Mon Sep 17 00:00:00 2001 From: Jefferson Santos Date: Fri, 17 Apr 2020 02:54:29 -0300 Subject: [PATCH 05/63] 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 f573a65..6294914 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 1dd78c0b0465d416961fcb1c7e6aff9bcc4b171a Mon Sep 17 00:00:00 2001 From: Carlos Clayton Date: Mon, 20 Apr 2020 08:00:13 -0300 Subject: [PATCH 06/63] 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 161d381..1a1a753 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 07/63] 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 dbe3efb..78798a9 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 ee6eee4..856f842 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 4a105bb..57afb56 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 08/63] 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 3864bde..fcb7df3 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 35a7fc204c92f11a4f0d59464bd689b0b0fa761a Mon Sep 17 00:00:00 2001 From: kideny Date: Fri, 1 May 2020 00:57:27 +0800 Subject: [PATCH 09/63] update support phalcon4.X version --- env-example | 2 +- php-fpm/Dockerfile | 9 ++++++++- php-fpm/phalcon.ini | 1 + php-worker/Dockerfile | 7 +++++++ workspace/Dockerfile | 9 ++++++++- 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/env-example b/env-example index ee6eee4..6356aa4 100644 --- a/env-example +++ b/env-example @@ -44,7 +44,7 @@ PHP_VERSION=7.3 ### Phalcon Version ########################################### # Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+ -PHALCON_VERSION=3.4.5 +PHALCON_VERSION=4.0.5 ### PHP Interpreter ####################################### diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 9d5f895..b7cd320 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -721,7 +721,14 @@ ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION} COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable RUN if [ $INSTALL_PHALCON = true ]; then \ - apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \ + apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\ + && git clone https://github.com/jbboehr/php-psr.git \ + && cd php-psr \ + && phpize \ + && ./configure \ + && make \ + && make test \ + && make install \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \ && cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \ diff --git a/php-fpm/phalcon.ini b/php-fpm/phalcon.ini index 24b58ba..a501383 100644 --- a/php-fpm/phalcon.ini +++ b/php-fpm/phalcon.ini @@ -1 +1,2 @@ +extension=psr.so extension=phalcon.so \ No newline at end of file diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 2524dea..ed3331e 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -160,6 +160,13 @@ ENV PHALCON_VERSION ${PHALCON_VERSION} RUN if [ $INSTALL_PHALCON = true ]; then \ apk --update add unzip gcc make re2c bash\ + && git clone https://github.com/jbboehr/php-psr.git \ + && cd php-psr \ + && phpize \ + && ./configure \ + && make \ + && make test \ + && make install \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \ && cd /tmp/cphalcon-${PHALCON_VERSION}/build \ diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4a105bb..c6724ab 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1164,7 +1164,14 @@ ARG LARADOCK_PHALCON_VERSION ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION} RUN if [ $INSTALL_PHALCON = true ]; then \ - apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \ + apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\ + && git clone https://github.com/jbboehr/php-psr.git \ + && cd php-psr \ + && phpize \ + && ./configure \ + && make \ + && make test \ + && make install \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \ && cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \ From 24c02ec1cf5dd7c7f3f8f0737dee1a523809ac46 Mon Sep 17 00:00:00 2001 From: kideny Date: Sat, 2 May 2020 03:07:29 +0800 Subject: [PATCH 10/63] fixed --- workspace/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index c6724ab..ce2805e 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1176,6 +1176,7 @@ RUN if [ $INSTALL_PHALCON = true ]; then \ && unzip -d /tmp/ /tmp/cphalcon.zip \ && cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \ && ./install \ + && echo "extension=psr.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \ && echo "extension=phalcon.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \ && ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-phalcon.ini \ && rm -rf /tmp/cphalcon* \ From 7c4d9c908c6b4ca3b7b4e202f8b94db8552213b2 Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Wed, 13 May 2020 20:52:25 +0200 Subject: [PATCH 11/63] update laravel envoy to v2 --- workspace/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4a105bb..0c7d213 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -871,7 +871,7 @@ ARG INSTALL_LARAVEL_ENVOY=false RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ # Install the Laravel Envoy - composer global require "laravel/envoy=~1.0" \ + composer global require "laravel/envoy=~2.0" \ ;fi ########################################################################### From fabb36abbba982d404f11fda4bbe0bbedc06be5d Mon Sep 17 00:00:00 2001 From: Dawid Makowski Date: Wed, 20 May 2020 14:58:31 +0800 Subject: [PATCH 12/63] Adding support for PNPM more info here https://pnpm.js.org/en/installation --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3864bde..71e9623 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -87,6 +87,7 @@ services: - NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY} + - INSTALL_PNPM=${WORKSPACE_INSTALL_PNPM} - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} - INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP} - INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER} diff --git a/env-example b/env-example index ee6eee4..43c8356 100644 --- a/env-example +++ b/env-example @@ -98,6 +98,7 @@ WORKSPACE_NVM_NODEJS_ORG_MIRROR= WORKSPACE_INSTALL_NODE=true WORKSPACE_NODE_VERSION=node WORKSPACE_NPM_REGISTRY= +WORKSPACE_INSTALL_PNPM=false WORKSPACE_INSTALL_YARN=true WORKSPACE_YARN_VERSION=latest WORKSPACE_INSTALL_NPM_GULP=true diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0c7d213..c3c5a34 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -723,6 +723,20 @@ RUN if [ ${NPM_REGISTRY} ]; then \ . ~/.bashrc && npm config set registry ${NPM_REGISTRY} \ ;fi + +########################################################################### +# PNPM: +########################################################################### + +USER laradock + +ARG INSTALL_PNPM=false + +RUN if [ ${INSTALL_PNPM} = true ]; then \ + npx pnpm add -g pnpm \ +;fi + + ########################################################################### # YARN: ########################################################################### From a074389e28f1d221679f79b93f843e30d15cb3a5 Mon Sep 17 00:00:00 2001 From: Dawid Makowski Date: Wed, 20 May 2020 15:08:46 +0800 Subject: [PATCH 13/63] pnpm support - documentation --- DOCUMENTATION/content/documentation/index.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 5eae9a0..eebfd30 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1870,6 +1870,23 @@ To install NVM and NodeJS in the Workspace container +
+ +## Install PNPM + +pnpm uses hard links and symlinks to save one version of a module only ever once on a disk. When using npm or Yarn for example, if you have 100 projects using the same version of lodash, you will have 100 copies of lodash on disk. With pnpm, lodash will be saved in a single place on the disk and a hard link will put it into the node_modules where it should be installed. + +As a result, you save gigabytes of space on your disk and you have a lot faster installations! If you'd like more details about the unique node_modules structure that pnpm creates and why it works fine with the Node.js ecosystem. +More info here: https://pnpm.js.org/en/motivation + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_NODE` and `WORKSPACE_INSTALL_PNPM` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + + + From a85e9c4507d74944c6ca864c1e67ad667dc47e9d Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 21 May 2020 09:09:38 +0800 Subject: [PATCH 14/63] Horizon support ImageMagick fix #2296 --- docker-compose.yml | 1 + env-example | 1 + laravel-horizon/Dockerfile | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3864bde..d2fabbd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -308,6 +308,7 @@ services: - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} - INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} + - INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} diff --git a/env-example b/env-example index ee6eee4..9caaf17 100644 --- a/env-example +++ b/env-example @@ -272,6 +272,7 @@ NGINX_SSL_PATH=./nginx/ssl/ LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_GD=false LARAVEL_HORIZON_INSTALL_GMP=false +LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 4c8f611..d89cb70 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -67,6 +67,16 @@ RUN if [ ${INSTALL_GMP} = true ]; then \ docker-php-ext-install gmp \ ;fi +#Install ImageMagick package: +ARG INSTALL_IMAGEMAGICK=false +RUN set -eux; \ + if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ + apk add --update --no-cache imagemagick-dev; \ + pecl install imagick; \ + docker-php-ext-enable imagick; \ + php -m | grep -q 'imagick'; \ + fi + #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ From 667bfc5e1b5090c54654eb1a0c181c75d7c27c83 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 21 May 2020 09:40:36 +0800 Subject: [PATCH 15/63] workspace expose angular cli serve port --- env-example | 1 + 1 file changed, 1 insertion(+) diff --git a/env-example b/env-example index 4113db3..278192f 100644 --- a/env-example +++ b/env-example @@ -172,6 +172,7 @@ 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_ANGULAR_CLI_SERVE_HOST_PORT=4200 WORKSPACE_INSTALL_GIT_PROMPT=false ### PHP_FPM ############################################### From f4d5a892b1e4e9355ac462b267c5ed35a84268c2 Mon Sep 17 00:00:00 2001 From: Norie Date: Fri, 22 May 2020 13:43:25 +0800 Subject: [PATCH 16/63] fixed mongodb can not authentication The SCRAM_SHA_256 authentication mechanism requires libmongoc built with ENABLE_SSL. But current versio not support. --- php-worker/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 2524dea..9568177 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -32,6 +32,8 @@ RUN apk --update add wget \ cyrus-sasl-dev \ libgsasl-dev \ oniguruma-dev \ + openssl \ + openssl-dev \ supervisor RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl From 8477ca86f584a3495e7137641e3caf260ed0271b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Zonta?= Date: Thu, 28 May 2020 09:50:30 -0300 Subject: [PATCH 17/63] Fixed error with memcached when running php-worker --- php-worker/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 9568177..b409198 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -37,7 +37,11 @@ RUN apk --update add wget \ supervisor RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl -RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb +RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \ +;else \ + pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \ +;fi # Add a non-root user: ARG PUID=1000 From 0792766d4131912b6c5e3f8f52d6004308eee333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Zonta?= Date: Thu, 28 May 2020 13:37:01 -0300 Subject: [PATCH 18/63] =?UTF-8?q?Added=20support=20for=20OCI8=20extension?= =?UTF-8?q?=20in=20php-worker,=20Sugest=C3=A3o=20do=20amigo=20@bestlong=20?= =?UTF-8?q?in=20#2276?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 1 + env-example | 2 ++ php-worker/Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index d4775db..f8877c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -277,6 +277,7 @@ services: - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} + - INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} - INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP} - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE} diff --git a/env-example b/env-example index 278192f..d6029de 100644 --- a/env-example +++ b/env-example @@ -243,6 +243,8 @@ PHP_WORKER_INSTALL_GD=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false +# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version +PHP_WORKER_INSTALL_OCI8=false PHP_WORKER_INSTALL_PHALCON=false PHP_WORKER_INSTALL_SOAP=false PHP_WORKER_INSTALL_ZIP_ARCHIVE=false diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 9568177..9cefe54 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -81,6 +81,47 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \ docker-php-ext-install bcmath \ ;fi +########################################################################### +# PHP OCI8: +########################################################################### + +ARG INSTALL_OCI8=false + +ENV LD_LIBRARY_PATH="/usr/local/instantclient" +ENV ORACLE_HOME="/usr/local/instantclient" + +RUN if [ ${INSTALL_OCI8} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ + apk add make php7-pear php7-dev gcc musl-dev libnsl libaio poppler-utils libzip-dev zip unzip libaio-dev freetds-dev && \ + ## Download and unarchive Instant Client v11 + curl -o /tmp/basic.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-basic-linux.x64-11.2.0.4.0.zip && \ + curl -o /tmp/sdk.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sdk-linux.x64-11.2.0.4.0.zip && \ + curl -o /tmp/sqlplus.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip && \ + unzip -d /usr/local/ /tmp/basic.zip && \ + unzip -d /usr/local/ /tmp/sdk.zip && \ + unzip -d /usr/local/ /tmp/sqlplus.zip \ + ## Links are required for older SDKs + && ln -s /usr/local/instantclient_11_2 ${ORACLE_HOME} && \ + ln -s ${ORACLE_HOME}/libclntsh.so.* ${ORACLE_HOME}/libclntsh.so && \ + ln -s ${ORACLE_HOME}/libocci.so.* ${ORACLE_HOME}/libocci.so && \ + ln -s ${ORACLE_HOME}/lib* /usr/lib && \ + ln -s ${ORACLE_HOME}/sqlplus /usr/bin/sqlplus &&\ + ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1 && \ + ## Build OCI8 with PECL + echo "instantclient,${ORACLE_HOME}" | pecl install oci8 && \ + echo 'extension=oci8.so' > /etc/php7/conf.d/30-oci8.ini \ + # Clean up + apk del php7-pear php7-dev gcc musl-dev && \ + rm -rf /tmp/*.zip /tmp/pear/ && \ + docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/local/instantclient \ + && docker-php-ext-configure pdo_dblib --with-libdir=/lib \ + && docker-php-ext-install pdo_oci \ + && docker-php-ext-enable oci8 \ + && docker-php-ext-install zip && \ + # Install the zip extension + docker-php-ext-configure zip && \ + php -m | grep -q 'zip' \ +;fi + # Install PostgreSQL drivers: ARG INSTALL_PGSQL=false RUN if [ ${INSTALL_PGSQL} = true ]; then \ From 959329c2415d5d9b3d2a38c9719ce2e043d4edc1 Mon Sep 17 00:00:00 2001 From: Ajayi Adeyemi Date: Fri, 29 May 2020 02:41:39 +0100 Subject: [PATCH 19/63] fixed supervisor type syntax error --- 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 eebfd30..808208d 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -2067,7 +2067,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-compose up --build -d workspace` From 9d10b5a7ef17d86bee941eb4077100c9e19a891d Mon Sep 17 00:00:00 2001 From: tancou Date: Fri, 29 May 2020 16:30:02 +0200 Subject: [PATCH 20/63] Adding support for IMAP on php-worker --- docker-compose.yml | 1 + env-example | 1 + php-worker/Dockerfile | 12 ++++++++++++ 3 files changed, 14 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index d4775db..9871347 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -289,6 +289,7 @@ services: - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS} + - INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP} - PUID=${PHP_WORKER_PUID} - PGID=${PHP_WORKER_PGID} volumes: diff --git a/env-example b/env-example index 278192f..153032f 100644 --- a/env-example +++ b/env-example @@ -255,6 +255,7 @@ PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_INSTALL_GEARMAN=false PHP_WORKER_INSTALL_REDIS=false +PHP_WORKER_INSTALL_IMAP=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 9568177..25511fa 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -217,6 +217,18 @@ RUN if [ ${INSTALL_TAINT} = true ]; then \ docker-php-ext-enable taint \ ;fi +########################################################################### +# Imap EXTENSION +########################################################################### + +ARG INSTALL_IMAP=false + +RUN if [ ${INSTALL_IMAP} = true ]; then \ + apk add --update imap-dev openssl-dev && \ + docker-php-ext-configure imap --with-imap --with-imap-ssl && \ + docker-php-ext-install imap \ +;fi + # #-------------------------------------------------------------------------- # Optional Supervisord Configuration From b8a1690bc38dca51837becd28c4d3a1ddb41c59b Mon Sep 17 00:00:00 2001 From: tancou Date: Fri, 29 May 2020 18:13:20 +0200 Subject: [PATCH 21/63] Remove deprecated gitlab ci file --- .gitlab-ci.yml | 62 -------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 41f37b9..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,62 +0,0 @@ -# image: docker:latest -# services: -# - docker:dind -image: jonaskello/docker-and-compose:1.12.1-1.8.0 -services: - - docker:1.12.1-dind - -before_script: - - docker info - - docker-compose version - - cp env-example .env - - sed -i -- "s/=false/=true/g" .env - - cat .env - - env | sort - -build:5.6:php-fpm: - variables: - PHP_VERSION: "5.6" - script: - - docker-compose build php-fpm - -build:7.0:php-fpm: - variables: - PHP_VERSION: "7.0" - script: - - docker-compose build php-fpm - -build:7.1:php-fpm: - variables: - PHP_VERSION: "7.1" - script: - - docker-compose build php-fpm - -build:7.2:php-fpm: - variables: - PHP_VERSION: "7.2" - script: - - docker-compose build php-fpm - -build:5.6:workspace: - variables: - PHP_VERSION: "5.6" - script: - - docker-compose build workspace - -build:7.0:workspace: - variables: - PHP_VERSION: "7.0" - script: - - docker-compose build workspace - -build:7.1:workspace: - variables: - PHP_VERSION: "7.1" - script: - - docker-compose build workspace - -build:7.2:workspace: - variables: - PHP_VERSION: "7.2" - script: - - docker-compose build workspace From 90ba6df3add1883f9c62cfd0a4d79cf079460c18 Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Sun, 31 May 2020 07:07:05 +0000 Subject: [PATCH 22/63] update traefik to v2.2 --- docker-compose.yml | 31 +++++++++++++++++++++++++------ env-example | 5 +++++ traefik/Dockerfile | 10 +++++++--- traefik/acme.json | 0 traefik/data/.gitignore | 2 ++ traefik/traefik.toml | 23 ----------------------- 6 files changed, 39 insertions(+), 32 deletions(-) delete mode 100644 traefik/acme.json create mode 100644 traefik/data/.gitignore delete mode 100644 traefik/traefik.toml diff --git a/docker-compose.yml b/docker-compose.yml index a582022..1c9e8ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1616,19 +1616,38 @@ services: traefik: build: context: ./traefik - command: --docker volumes: - /var/run/docker.sock:/var/run/docker.sock + - ./traefik/data:/data + command: + - "--api" + - "--providers.docker.exposedbydefault=false" + - "--accesslog.filepath=/data/access.log" + # entrypoints + - "--entrypoints.http.address=:${NGINX_HOST_HTTP_PORT}" + - "--entrypoints.http.http.redirections.entrypoint.to=https" + - "--entrypoints.https.address=:${NGINX_HOST_HTTPS_PORT}" + - "--entrypoints.traefik.address=:${TRAEFIK_DASHBOARD_PORT}" + # certificatesresolvers + - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}" + - "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json" + - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http" ports: - - "${TRAEFIK_HOST_HTTP_PORT}:80" - - "${TRAEFIK_HOST_HTTPS_PORT}:443" + - "${NGINX_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}" + - "${NGINX_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}" + - "${TRAEFIK_DASHBOARD_PORT}:${TRAEFIK_DASHBOARD_PORT}" networks: - frontend - backend labels: - - traefik.backend=traefik - - traefik.frontend.rule=Host:monitor.localhost - - traefik.port=8080 + - "traefik.enable=true" + - "traefik.http.routers.traefik.rule=Host(`${ACME_DOMAIN}`)" + - "traefik.http.routers.traefik.entrypoints=traefik" + - "traefik.http.routers.traefik.service=api@internal" + - "traefik.http.routers.traefik.middlewares=access-auth" + - "traefik.http.routers.traefik.tls.certresolver=letsencrypt" + - "traefik.http.middlewares.access-auth.basicauth.realm=Login Required" + - "traefik.http.middlewares.access-auth.basicauth.users=${TRAEFIK_DASHBOARD_USER}" ### MOSQUITTO Broker ######################################### mosquitto: diff --git a/env-example b/env-example index c642a4a..f17cbc8 100644 --- a/env-example +++ b/env-example @@ -762,6 +762,11 @@ MAILU_WEBDAV=radicale TRAEFIK_HOST_HTTP_PORT=80 TRAEFIK_HOST_HTTPS_PORT=443 +TRAEFIK_DASHBOARD_PORT=8888 +# basic authentication for traefik dashboard username: admin password:admin +TRAEFIK_DASHBOARD_USER=admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi +ACME_DOMAIN=example.org +ACME_EMAIL=email@example.org ### MOSQUITTO ################################################# diff --git a/traefik/Dockerfile b/traefik/Dockerfile index 73825fd..fa4e176 100644 --- a/traefik/Dockerfile +++ b/traefik/Dockerfile @@ -1,7 +1,11 @@ -FROM traefik:1.7.5-alpine +FROM traefik:v2.2 LABEL maintainer="Luis Coutinho " -COPY traefik.toml acme.json / +WORKDIR /data -RUN chmod 600 /acme.json +RUN touch acme.json + +RUN chmod 600 acme.json + +VOLUME /data \ No newline at end of file diff --git a/traefik/acme.json b/traefik/acme.json deleted file mode 100644 index e69de29..0000000 diff --git a/traefik/data/.gitignore b/traefik/data/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/traefik/data/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/traefik/traefik.toml b/traefik/traefik.toml deleted file mode 100644 index 5875b94..0000000 --- a/traefik/traefik.toml +++ /dev/null @@ -1,23 +0,0 @@ -defaultEntryPoints = ["http", "https"] - -[entryPoints] - [entryPoints.http] - address = ":80" - [entryPoints.http.redirect] - entryPoint = "https" - [entryPoints.https] - address = ":443" - [entryPoints.https.tls] - -[web] -address = ":8080" -[acme] -email = "email@example.org" -storage = "acme.json" -entryPoint = "https" -onHostRule = true - [acme.httpChallenge] - entryPoint = "http" - -[[acme.domais]] - main = "localhost" From 227591cfb5f3e1f54221ef04d7d0d4fd1a54b99a Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Sun, 31 May 2020 07:13:13 +0000 Subject: [PATCH 23/63] update documentation for Traefik v2.2 --- DOCUMENTATION/content/documentation/index.md | 47 ++++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 808208d..2540601 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1425,30 +1425,13 @@ GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1d ## Use Traefik -To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`. +To use Traefik you need to do some changes in `.env` and `docker-compose.yml`. -1 - Open `traefik.toml` and change the `e-mail` property in `acme` section. +1 - Open `.env` and change `ACME_DOMAIN` to your domain and `ACME_EMAIL` to your email. -2 - Change your domain in `acme.domains`. For example: `main = "example.org"` +2 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. -2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section. - -```bash -[[acme.domais]] - main = "example.org" - sans = ["monitor.example.org", "pma.example.org"] -``` - -3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`: - -```bash -[entryPoints.https.auth.basic] - users = ["user:password"] -``` - -4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. - -4.1 For example, let's try with NGINX. You must have: +2.1 For example, let's try with NGINX. You must have: ```bash nginx: @@ -1468,9 +1451,25 @@ nginx: - frontend - backend labels: - - traefik.backend=nginx - - traefik.frontend.rule=Host:example.org - - traefik.port=80 + - "traefik.enable=true" + - "traefik.http.services.nginx.loadbalancer.server.port=80" + # https router + - "traefik.http.routers.https.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.https.entrypoints=https" + - "traefik.http.routers.https.middlewares=www-redirectregex" + - "traefik.http.routers.https.service=nginx" + - "traefik.http.routers.https.tls.certresolver=letsencrypt" + # http router + - "traefik.http.routers.http.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.http.entrypoints=http" + - "traefik.http.routers.http.middlewares=http-redirectscheme" + - "traefik.http.routers.http.service=nginx" + # middlewares + - "traefik.http.middlewares.www-redirectregex.redirectregex.permanent=true" + - "traefik.http.middlewares.www-redirectregex.redirectregex.regex=^https://www.(.*)" + - "traefik.http.middlewares.www-redirectregex.redirectregex.replacement=https://$$1" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.permanent=true" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.scheme=https" ``` instead of From b5419c352db15924fca41b8424f96d8f1cd8ce19 Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Sun, 31 May 2020 07:43:41 +0000 Subject: [PATCH 24/63] change port variables from nginx to trafik --- docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1c9e8ef..e482ca8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1624,17 +1624,17 @@ services: - "--providers.docker.exposedbydefault=false" - "--accesslog.filepath=/data/access.log" # entrypoints - - "--entrypoints.http.address=:${NGINX_HOST_HTTP_PORT}" + - "--entrypoints.http.address=:${TRAEFIK_HOST_HTTP_PORT}" - "--entrypoints.http.http.redirections.entrypoint.to=https" - - "--entrypoints.https.address=:${NGINX_HOST_HTTPS_PORT}" + - "--entrypoints.https.address=:${TRAEFIK_HOST_HTTPS_PORT}" - "--entrypoints.traefik.address=:${TRAEFIK_DASHBOARD_PORT}" # certificatesresolvers - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}" - "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json" - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http" ports: - - "${NGINX_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}" - - "${NGINX_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}" + - "${TRAEFIK_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}" + - "${TRAEFIK_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}" - "${TRAEFIK_DASHBOARD_PORT}:${TRAEFIK_DASHBOARD_PORT}" networks: - frontend From bc9825d398dc08f0f1e4501b2e46f6fcb65c11e8 Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Sun, 31 May 2020 14:44:09 +0000 Subject: [PATCH 25/63] update netdata image to the latest version of the official image --- docker-compose.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index a582022..eeced54 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1307,11 +1307,13 @@ services: ### NetData ################################################ netdata: - image: titpetric/netdata:latest + image: netdata/netdata:latest cap_add: - - SYS_PTRACE + - SYS_PTRACE volumes: - - /:/host:ro + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /var/run/docker.sock:/var/run/docker.sock:ro ports: - "${NETDATA_PORT}:19999" networks: From 89ee774ece2731afcc541bc9482d328736147988 Mon Sep 17 00:00:00 2001 From: Matias Anoniz Date: Fri, 12 Jun 2020 12:14:10 -0300 Subject: [PATCH 26/63] Update docker-compose.yml Increment nofile, check the documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_increase_ulimits_for_nofile_and_nproc --- docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index e1a0e56..f6c6387 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -825,6 +825,9 @@ services: memlock: soft: -1 hard: -1 + nofile: + soft: 65536 + hard: 65536 ports: - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200" - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" From 2224685d7ebd364529ce4ca945a0592d05976024 Mon Sep 17 00:00:00 2001 From: KNY Date: Mon, 15 Jun 2020 23:59:42 +0200 Subject: [PATCH 27/63] Fix trailing whitespace --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 6d8e9ee..b9ab497 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { "files.associations": { "Dockerfile-*": "dockerfile" - }, + } } From 35081fd9be9ed56d80b73eac0dc1638ad84a5ea9 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 17 Jun 2020 00:05:03 +0800 Subject: [PATCH 28/63] support php-xmlrpc extension --- docker-compose.yml | 3 +++ env-example | 3 +++ php-fpm/Dockerfile | 10 ++++++++++ php-worker/Dockerfile | 10 ++++++++++ workspace/Dockerfile | 10 ++++++++++ 5 files changed, 36 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index f6c6387..267a1f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -130,6 +130,7 @@ services: - INSTALL_YAML=${WORKSPACE_INSTALL_YAML} - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE} - INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT} + - INSTALL_XMLRPC=${WORKSPACE_INSTALL_XMLRPC} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} @@ -236,6 +237,7 @@ services: - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} - INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} + - INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} - LOCALE=${PHP_FPM_DEFAULT_LOCALE} @@ -291,6 +293,7 @@ services: - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS} - INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP} + - INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC} - PUID=${PHP_WORKER_PUID} - PGID=${PHP_WORKER_PGID} volumes: diff --git a/env-example b/env-example index 8361291..44c087b 100644 --- a/env-example +++ b/env-example @@ -158,6 +158,7 @@ WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_FSWATCH=false WORKSPACE_INSTALL_YAML=false WORKSPACE_INSTALL_MAILPARSE=false +WORKSPACE_INSTALL_XMLRPC=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_CHROME_DRIVER_VERSION=2.42 @@ -219,6 +220,7 @@ PHP_FPM_INSTALL_FAKETIME=false PHP_FPM_INSTALL_IONCUBE=false PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_INSTALL_GETTEXT=false +PHP_FPM_INSTALL_XMLRPC=false PHP_FPM_FAKETIME=-0 PHP_FPM_INSTALL_APCU=false PHP_FPM_INSTALL_CACHETOOL=false @@ -258,6 +260,7 @@ PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_INSTALL_GEARMAN=false PHP_WORKER_INSTALL_REDIS=false PHP_WORKER_INSTALL_IMAP=false +PHP_WORKER_INSTALL_XMLRPC PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index b7cd320..7fc0095 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -906,6 +906,16 @@ RUN if [ ${INSTALL_CACHETOOL} = true ]; then \ mv cachetool.phar /usr/local/bin/cachetool \ ;fi +########################################################################### +# XMLRPC: +########################################################################### + +ARG INSTALL_XMLRPC=false + +RUN if [ ${INSTALL_XMLRPC} = true ]; then \ + docker-php-ext-install xmlrpc \ +;fi + ########################################################################### # Check PHP version: ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index f3cd147..c13e245 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -281,6 +281,16 @@ RUN if [ ${INSTALL_IMAP} = true ]; then \ docker-php-ext-install imap \ ;fi +########################################################################### +# XMLRPC: +########################################################################### + +ARG INSTALL_XMLRPC=false + +RUN if [ ${INSTALL_XMLRPC} = true ]; then \ + docker-php-ext-install xmlrpc \ +;fi + # #-------------------------------------------------------------------------- # Optional Supervisord Configuration diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 055a882..5bee6cd 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1322,6 +1322,16 @@ RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \ rm /tmp/git-prompt \ ;fi +########################################################################### +# XMLRPC: +########################################################################### + +ARG INSTALL_XMLRPC=false + +RUN if [ ${INSTALL_XMLRPC} = true ]; then \ + docker-php-ext-install xmlrpc \ +;fi + ########################################################################### # Check PHP version: ########################################################################### From d81f9f27792430d2a76e0f86da206281aaa78eb3 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 17 Jun 2020 00:30:07 +0800 Subject: [PATCH 29/63] php-worker support imagick --- docker-compose.yml | 1 + env-example | 1 + php-worker/Dockerfile | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 267a1f2..4dd98e5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -276,6 +276,7 @@ services: - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2} - INSTALL_GD=${PHP_WORKER_INSTALL_GD} + - INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK} - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} diff --git a/env-example b/env-example index 44c087b..cf16d73 100644 --- a/env-example +++ b/env-example @@ -242,6 +242,7 @@ PHP_FPM_PGID=1000 PHP_WORKER_INSTALL_BZ2=false PHP_WORKER_INSTALL_GD=false +PHP_WORKER_INSTALL_IMAGEMAGICK=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index c13e245..f3c8166 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -66,6 +66,14 @@ RUN if [ ${INSTALL_GD} = true ]; then \ docker-php-ext-install gd \ ;fi +#Install ImageMagick: +ARG INSTALL_IMAGEMAGICK=false +RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ + apk add --update imagemagick-dev imagemagick; \ + pecl install imagick; \ + docker-php-ext-enable imagick \ +;fi + #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ From 4a1100e6859709c17d17221b448d008260f4288c Mon Sep 17 00:00:00 2001 From: lianyunfeng <864825307@qq.com> Date: Wed, 17 Jun 2020 17:00:14 +0800 Subject: [PATCH 30/63] php-fpm container xdebug.ini name is xdebug.ini --- php-fpm/xdebug | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/php-fpm/xdebug b/php-fpm/xdebug index 8e43202..8adb807 100755 --- a/php-fpm/xdebug +++ b/php-fpm/xdebug @@ -36,7 +36,7 @@ xdebug_start () # And uncomment line with xdebug extension, thus enabling it ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \ - /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" + /usr/local/etc/php/conf.d/xdebug.ini" # If running on Windows, need to prepend with winpty :( @@ -58,7 +58,7 @@ xdebug_stop () echo 'Stop xDebug' # Comment out xdebug extension line - OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" + OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/xdebug.ini" # If running on Windows, need to prepend with winpty :( From aa179b6ca33bfa20594d3e55614597dd3f6f1b3c Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 18 Jun 2020 08:34:45 +0800 Subject: [PATCH 31/63] fix bind port conflict change phpmyadmin and adminer default bind port to 8081 --- DOCUMENTATION/content/documentation/index.md | 4 ++-- env-example | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 4829aec..4526750 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -977,7 +977,7 @@ docker-compose up -d mariadb phpmyadmin *Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.* -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` +2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081` @@ -1074,7 +1074,7 @@ job1: docker-compose up -d adminer ``` -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` +2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081` **Note:** We've locked Adminer to version 4.3.0 as at the time of writing [it contained a major bug](https://sourceforge.net/p/adminer/bugs-and-features/548/) preventing PostgreSQL users from logging in. If that bug is fixed (or if you're not using PostgreSQL) feel free to set Adminer to the latest version within [the Dockerfile](https://github.com/laradock/laradock/blob/master/adminer/Dockerfile#L1): `FROM adminer:latest` diff --git a/env-example b/env-example index cf16d73..3930bb8 100644 --- a/env-example +++ b/env-example @@ -399,7 +399,7 @@ MINIO_PORT=9000 ### ADMINER ############################################### -ADM_PORT=8080 +ADM_PORT=8081 ADM_INSTALL_MSSQL=false ### PHP MY ADMIN ########################################## @@ -413,7 +413,7 @@ PMA_DB_ENGINE=mysql PMA_USER=default PMA_PASSWORD=secret PMA_ROOT_PASSWORD=secret -PMA_PORT=8080 +PMA_PORT=8081 ### MAILDEV ############################################### From c7bac4fc31cdda0ba07f27ff2f48432d4e3044d7 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 18 Jun 2020 09:35:46 +0800 Subject: [PATCH 32/63] set env-example file association for vscode --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index b9ab497..1166680 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "files.associations": { + "env-example": "dotenv", "Dockerfile-*": "dockerfile" } } From a4ed4cd034dbb4f3427fe7915bc4cfeceb83b627 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Fri, 19 Jun 2020 00:33:45 +0200 Subject: [PATCH 33/63] add more open collective links to display more logos --- DOCUMENTATION/content/introduction/index.md | 60 ++++++++++++++++++++ README.md | 61 +++++++++++++++++++++ 2 files changed, 121 insertions(+) diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 0251c3a..2fb2d97 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -413,6 +413,36 @@ Contribute and help us sustain the project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Support Laradock with your [organization](https://opencollective.com/laradock/contribute/).
@@ -473,6 +503,36 @@ For more info contact support@laradock.i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 172e437..2007e77 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,37 @@ Contribute and help us sustain the project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Support Laradock with your [organization](https://opencollective.com/laradock/contribute/).
@@ -290,6 +321,36 @@ For more info contact support@laradock.i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## License From ffb90a8e2d2b548cf7a08d4b0c79b9f6a73ff896 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 19 Jun 2020 18:35:17 +0800 Subject: [PATCH 34/63] Rename default.conf.example to default.conf --- nginx/sites/{default.conf.example => default.conf} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename nginx/sites/{default.conf.example => default.conf} (100%) diff --git a/nginx/sites/default.conf.example b/nginx/sites/default.conf similarity index 100% rename from nginx/sites/default.conf.example rename to nginx/sites/default.conf From d11186e76c96fa8bcd787857f175be3ae73e24ac Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 19 Jun 2020 18:44:40 +0800 Subject: [PATCH 35/63] Update Dockerfile clean duplicate apt-get install nasm --- workspace/Dockerfile | 9 --------- 1 file changed, 9 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index e55564b..f2694c4 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1154,15 +1154,6 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ && apt-get -y install postgresql-client-10 \ ;fi -########################################################################### -# nasm -########################################################################### - -USER root - -RUN apt-get update -yqq \ - && apt-get -yqq install nasm - ########################################################################### # Dusk Dependencies: ########################################################################### From 4d5a6325cc947f00c2c2d7195800f05763c45489 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 19 Jun 2020 22:29:14 +0800 Subject: [PATCH 36/63] fix .env xmlrpc #2630 --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index 4c78647..3c1d30d 100644 --- a/env-example +++ b/env-example @@ -262,7 +262,7 @@ PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_INSTALL_GEARMAN=false PHP_WORKER_INSTALL_REDIS=false PHP_WORKER_INSTALL_IMAP=false -PHP_WORKER_INSTALL_XMLRPC +PHP_WORKER_INSTALL_XMLRPC=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 From e63a285b74fca74bde0f0df1218d6b9528d74c94 Mon Sep 17 00:00:00 2001 From: eba Date: Sun, 28 Jun 2020 02:43:29 +0900 Subject: [PATCH 37/63] Minor update for index.md Adjusted syntax --- DOCUMENTATION/content/documentation/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 4526750..76092f4 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -624,6 +624,7 @@ docker-compose up -d php-worker > 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. + ``` const mix = require('laravel-mix') From 536747e933987f79181d4934fe12c83d16e0e026 Mon Sep 17 00:00:00 2001 From: Jakub Kiczko Date: Tue, 30 Jun 2020 12:44:09 +0200 Subject: [PATCH 38/63] fix of the default gearman port --- env-example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env-example b/env-example index 3c1d30d..a389148 100644 --- a/env-example +++ b/env-example @@ -852,8 +852,8 @@ CASSANDRA_RACK=rack1 # Gearman version to use. See available tags at https://hub.docker.com/r/artefactual/gearmand GEARMAN_VERSION=latest -# Port to use (Default: 6379) -GEARMAN_PORT=6379 +# Port to use (Default: 4730) +GEARMAN_PORT=4730 # Logging Level (Default: INFO) GEARMAN_VERBOSE=INFO # Persistent queue type to use (Default: builtin) From 6ce9f87676963348997c579f0532e375c780e14b Mon Sep 17 00:00:00 2001 From: Victor Vasiloi Date: Wed, 1 Jul 2020 13:08:48 +0300 Subject: [PATCH 39/63] update link --- DOCUMENTATION/content/getting-started/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index 47108ab..b96cdfe 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -38,7 +38,7 @@ git submodule add https://github.com/Laradock/laradock.git Note: If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `. -*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#keep-track-of-your-laradock-changes)* +*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#track-your-laradock-changes)* 2 - Make sure your folder structure should look like this: From 23a1aaa8b0a9f0ce5be52b9d062a757ddb6d250e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Fri, 3 Jul 2020 16:17:17 -0300 Subject: [PATCH 40/63] Add support for custom docker-compose.yml For some reason, one may want/need to edit laradock's default file `docker-compose.yml` e.g. srtipping out uneeded services, so that the whole project can be brought up with a simple `docker-compose up` command. With this commit, the user can copy default `docker-compose.yml` as `docker-compose.custom.yml` and make the desired changes there. This file will not be tracked by Git. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index e215d35..45d4e72 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ !/.devcontainer/devcontainer.example.json !/.devcontainer/docker-compose.extend-example.yml +docker-compose.custom.yml + .DS_Store From ef527bbab6a59a1eeff718ad19c5b735c2242f22 Mon Sep 17 00:00:00 2001 From: Mgor Date: Wed, 8 Jul 2020 12:25:23 +0200 Subject: [PATCH 41/63] Add MeiliSearch Container --- DOCUMENTATION/content/documentation/index.md | 12 ++++++++++++ docker-compose.yml | 13 +++++++++++++ env-example | 5 +++++ 3 files changed, 30 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 4526750..d711991 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1225,7 +1225,19 @@ docker-compose restart elasticsearch ``` +
+ +## Use MeiliSearch +1 - Run the MeiliSearch Container (`meilisearch`) with the `docker-compose up` command. Example: + +```bash +docker-compose up -d meilisearch +``` + +2 - Open your browser and visit the localhost on port **7700** at the following URL: `http://localhost:7700` + +> The private API key is `masterkey` diff --git a/docker-compose.yml b/docker-compose.yml index 9ca6ada..4dd89df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,6 +37,8 @@ volumes: driver: ${VOLUMES_DRIVER} caddy: driver: ${VOLUMES_DRIVER} + meilisearch: + driver: ${VOLUMES_DRIVER} elasticsearch: driver: ${VOLUMES_DRIVER} mosquitto: @@ -812,6 +814,17 @@ services: - frontend - backend +### MeiliSearch ########################################## + meilisearch: + image: getmeili/meilisearch:latest + volumes: + - ${DATA_PATH_HOST}/meilisearch:/var/lib/meilisearch + ports: + - "${MEILISEARCH_HOST_PORT}:7700" + networks: + - frontend + - backend + ### ElasticSearch ######################################## elasticsearch: build: diff --git a/env-example b/env-example index a389148..ef13d64 100644 --- a/env-example +++ b/env-example @@ -367,6 +367,11 @@ RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 RABBITMQ_DEFAULT_USER=guest RABBITMQ_DEFAULT_PASS=guest +### MEILISEARCH ########################################### + +MEILISEARCH_HOST_PORT=7700 +MEILISEARCH_KEY=masterkey + ### ELASTICSEARCH ######################################### ELASTICSEARCH_HOST_HTTP_PORT=9200 From 4e7888cb088e61491cf3e25a01526e485a6ddadd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=A0?= Date: Mon, 13 Jul 2020 22:27:44 +0200 Subject: [PATCH 42/63] Add support for Python 3 in workspace --- env-example | 1 + workspace/Dockerfile | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/env-example b/env-example index a389148..7035853 100644 --- a/env-example +++ b/env-example @@ -139,6 +139,7 @@ WORKSPACE_INSTALL_LINUXBREW=false WORKSPACE_INSTALL_MC=false WORKSPACE_INSTALL_SYMFONY=false WORKSPACE_INSTALL_PYTHON=false +WORKSPACE_INSTALL_PYTHON3=false WORKSPACE_INSTALL_POWERLINE=false WORKSPACE_INSTALL_SUPERVISOR=false WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f2694c4..6a542ea 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1068,7 +1068,7 @@ RUN if [ ${INSTALL_SYMFONY} = true ]; then \ ;fi ########################################################################### -# PYTHON: +# PYTHON2: ########################################################################### ARG INSTALL_PYTHON=false @@ -1079,6 +1079,18 @@ RUN if [ ${INSTALL_PYTHON} = true ]; then \ && python -m pip install --upgrade virtualenv \ ;fi +########################################################################### +# PYTHON3: +########################################################################### + +ARG INSTALL_PYTHON3=false + +RUN if [ ${INSTALL_PYTHON3} = true ]; then \ + apt-get -y install python3 python3-pip python3-dev build-essential \ + && python3 -m pip install --upgrade pip \ + && python3 -m pip install --upgrade virtualenv \ +;fi + ########################################################################### # POWERLINE: ########################################################################### From caee5e0f9fab8735051e6d05d4e4665cd1db6857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=A0?= Date: Mon, 13 Jul 2020 23:09:07 +0200 Subject: [PATCH 43/63] Add missing WORKSPACE_INSTALL_PYTHON3 to docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 9ca6ada..53bfa95 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -111,6 +111,7 @@ services: - INSTALL_MC=${WORKSPACE_INSTALL_MC} - INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY} - INSTALL_PYTHON=${WORKSPACE_INSTALL_PYTHON} + - INSTALL_PYTHON3=${WORKSPACE_INSTALL_PYTHON3} - INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS} - INSTALL_IMAGEMAGICK=${WORKSPACE_INSTALL_IMAGEMAGICK} - INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM} From 86f5a7d9e0be68eba212865edabf51ec8a0ab4ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=A0?= Date: Mon, 13 Jul 2020 23:17:45 +0200 Subject: [PATCH 44/63] Force reinstall pip to fix warning --- workspace/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6a542ea..5f4c38a 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1087,7 +1087,7 @@ ARG INSTALL_PYTHON3=false RUN if [ ${INSTALL_PYTHON3} = true ]; then \ apt-get -y install python3 python3-pip python3-dev build-essential \ - && python3 -m pip install --upgrade pip \ + && python3 -m pip install --upgrade --force-reinstall pip \ && python3 -m pip install --upgrade virtualenv \ ;fi From 032e7c0c534c7cc9620b9ba9b0e9e289f5ea57e4 Mon Sep 17 00:00:00 2001 From: Robert Trzebinski Date: Tue, 21 Jul 2020 16:45:21 +0200 Subject: [PATCH 45/63] Add rdkafka to Workspace container --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4dd89df..98efe1a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -131,6 +131,7 @@ services: - INSTALL_FSWATCH=${WORKSPACE_INSTALL_FSWATCH} - INSTALL_AST=${WORKSPACE_INSTALL_AST} - INSTALL_YAML=${WORKSPACE_INSTALL_YAML} + - INSTALL_RDKAFKA=${WORKSPACE_INSTALL_RDKAFKA} - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE} - INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT} - INSTALL_XMLRPC=${WORKSPACE_INSTALL_XMLRPC} diff --git a/env-example b/env-example index ef13d64..42e2e09 100644 --- a/env-example +++ b/env-example @@ -158,6 +158,7 @@ WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_FSWATCH=false WORKSPACE_INSTALL_YAML=false +WORKSPACE_INSTALL_RDKAFKA=false WORKSPACE_INSTALL_MAILPARSE=false WORKSPACE_INSTALL_XMLRPC=false WORKSPACE_PUID=1000 diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f2694c4..f65ea45 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1265,6 +1265,20 @@ RUN if [ ${INSTALL_YAML} = true ]; then \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/35-yaml.ini \ ;fi +########################################################################### +# RDKAFKA: +########################################################################### + +ARG INSTALL_RDKAFKA=false + +RUN if [ ${INSTALL_RDKAFKA} = true ]; then \ + apt-get install -y librdkafka-dev && \ + pecl install rdkafka && \ + echo "extension=rdkafka.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini && \ + ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-rdkafka.ini \ + && php -m | grep -q 'rdkafka' \ +;fi + ########################################################################### # FFMpeg: ########################################################################### From a95335585004c9c8f9b3f771c1bc41fcde3b95f9 Mon Sep 17 00:00:00 2001 From: Robert Trzebinski Date: Tue, 21 Jul 2020 16:53:13 +0200 Subject: [PATCH 46/63] add documentation about installing RDKAFKA extension --- DOCUMENTATION/content/documentation/index.md | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d711991..88d292e 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -2197,6 +2197,32 @@ YAML PHP extension allows you to easily parse and create YAML structured data. I 4 - Re-build the container `docker-compose build php-fpm`
+
+ +## Install RDKAFKA extension in php-fpm + +1 - Open the `.env` file +
+2 - Search for the `PHP_FPM_INSTALL_RDKAFKA` argument under the PHP-FPM container +
+3 - Set it to `true` +
+4 - Re-build the container `docker-compose build php-fpm`
+ + +
+ +## Install RDKAFKA extension in workspace + +This is needed for 'composer install' if your dependencies require Kafka. + +1 - Open the `.env` file +
+2 - Search for the `WORKSPACE_INSTALL_RDKAFKA` argument under the WORKSPACE container +
+3 - Set it to `true` +
+4 - Re-build the container `docker-compose build workspace`

From 7e513783e7545632855a224b8ce1208814134a68 Mon Sep 17 00:00:00 2001 From: Hao Yuqi Date: Sat, 25 Jul 2020 16:29:55 +0800 Subject: [PATCH 47/63] laravel-echo-server add change source --- docker-compose.yml | 2 ++ laravel-echo-server/Dockerfile | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4dd89df..5221f87 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1046,6 +1046,8 @@ services: laravel-echo-server: build: context: ./laravel-echo-server + args: + - CHANGE_SOURCE=${CHANGE_SOURCE} volumes: - ./laravel-echo-server/laravel-echo-server.json:/app/laravel-echo-server.json:ro ports: diff --git a/laravel-echo-server/Dockerfile b/laravel-echo-server/Dockerfile index da6b256..26a64c1 100644 --- a/laravel-echo-server/Dockerfile +++ b/laravel-echo-server/Dockerfile @@ -7,6 +7,14 @@ WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ +# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. + +ARG CHANGE_SOURCE=false +RUN if [ ${CHANGE_SOURCE} = true ]; then \ + # Change application source from dl-cdn.alpinelinux.org to aliyun source + sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \ +;fi + RUN apk add --update \ python \ python-dev \ From c9819508c1bfb7abc7826fa9437f92aa3c7c7b21 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Sun, 2 Aug 2020 00:34:24 +0800 Subject: [PATCH 48/63] fix phusion/baseimage tag name --- certbot/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/certbot/Dockerfile b/certbot/Dockerfile index ad95113..3d67cd6 100644 --- a/certbot/Dockerfile +++ b/certbot/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:latest +FROM phusion/baseimage:bionic-1.0.0 LABEL maintainer="Mahmoud Zalt " From 20ed0a5e59753d90fc8c82835802280dec378371 Mon Sep 17 00:00:00 2001 From: Gautier Date: Tue, 4 Aug 2020 16:20:05 +0200 Subject: [PATCH 49/63] change indentation of graylog This indentation is causing problem with my deployment automation since it's the only one using 4 spaces instead of two --- docker-compose.yml | 54 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5221f87..7183242 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1014,33 +1014,33 @@ services: ### Graylog ####################################### graylog: - build: ./graylog - environment: - - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD} - - GRAYLOG_ROOT_PASSWORD_SHA2=${GRAYLOG_SHA256_PASSWORD} - - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:${GRAYLOG_PORT}/ - links: - - mongo - - elasticsearch - depends_on: - - mongo - - elasticsearch - ports: - # Graylog web interface and REST API - - ${GRAYLOG_PORT}:9000 - # Syslog TCP - - ${GRAYLOG_SYSLOG_TCP_PORT}:514 - # Syslog UDP - - ${GRAYLOG_SYSLOG_UDP_PORT}:514/udp - # GELF TCP - - ${GRAYLOG_GELF_TCP_PORT}:12201 - # GELF UDP - - ${GRAYLOG_GELF_UDP_PORT}:12201/udp - user: graylog - volumes: - - ${DATA_PATH_HOST}/graylog:/usr/share/graylog/data - networks: - - backend + build: ./graylog + environment: + - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD} + - GRAYLOG_ROOT_PASSWORD_SHA2=${GRAYLOG_SHA256_PASSWORD} + - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:${GRAYLOG_PORT}/ + links: + - mongo + - elasticsearch + depends_on: + - mongo + - elasticsearch + ports: + # Graylog web interface and REST API + - ${GRAYLOG_PORT}:9000 + # Syslog TCP + - ${GRAYLOG_SYSLOG_TCP_PORT}:514 + # Syslog UDP + - ${GRAYLOG_SYSLOG_UDP_PORT}:514/udp + # GELF TCP + - ${GRAYLOG_GELF_TCP_PORT}:12201 + # GELF UDP + - ${GRAYLOG_GELF_UDP_PORT}:12201/udp + user: graylog + volumes: + - ${DATA_PATH_HOST}/graylog:/usr/share/graylog/data + networks: + - backend ### Laravel Echo Server ####################################### laravel-echo-server: From dff28d771858d19d49036110d0457f5433e28bfe Mon Sep 17 00:00:00 2001 From: Johnson Date: Sun, 9 Aug 2020 08:08:17 +0800 Subject: [PATCH 50/63] update: php-fpm Dockfile --- php-fpm/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 9d5f895..1313b73 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -28,9 +28,9 @@ ENV DEBIAN_FRONTEND noninteractive ARG CHANGE_SOURCE=false RUN if [ ${CHANGE_SOURCE} = true ]; then \ # Change application source from deb.debian.org to aliyun source - sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \ - sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \ - sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list \ + sed -i 's/deb.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list && \ + sed -i 's/security.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list && \ + sed -i 's/security-cdn.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list \ ;fi # always run apt update when start and after add new source list, then clean up at end. From bfdb04f33fb87cf140a5f795304929dffa50c1cf Mon Sep 17 00:00:00 2001 From: Pavinthan Date: Thu, 13 Aug 2020 22:03:50 +0530 Subject: [PATCH 51/63] Update Use AWS Docs --- 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 4320f6b..8b076ca 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1366,7 +1366,7 @@ For more documentation on Thumbor visit the [Thumbor documenation](http://thumbo ## Use AWS 1 - Configure AWS: - - make sure to add your SSH keys in aws/ssh_keys folder + - make sure to add your SSH keys in aws-eb-cli/ssh_keys folder 2 - Run the Aws Container (`aws`) with the `docker-compose up` command. Example: From e50c501b87f523f0103c1d0398adbe976f1e7409 Mon Sep 17 00:00:00 2001 From: Parth Jani Date: Wed, 19 Aug 2020 08:15:23 -0400 Subject: [PATCH 52/63] Typo fixed in documentation --- DOCUMENTATION/content/documentation/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 4320f6b..2adc213 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -256,7 +256,7 @@ docker-compose build php-fpm >Note: it's not very essential to edit the PHP-CLI version. The PHP-CLI is only used for the Artisan Commands & Composer. It doesn't serve your Application code, this is the PHP-FPM job. -The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in te .env file as follow: +The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in the .env file as follow: 1 - Open the `.env`. @@ -509,7 +509,7 @@ Since the new Laravel application is in the `my-cool-app` folder, we need to rep ```dotenv APP_CODE_PATH_HOST=../my-cool-app/ ``` -4 - Go to that folder and start working.. +4 - Go to that folder and start working. ```bash cd my-cool-app @@ -953,7 +953,7 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins 7 - Test it: -- First let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). +- First, let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). - Enter the Workspace Container. - Migrate the Database `php artisan migrate`. @@ -1058,7 +1058,7 @@ job1: 7 - Push changes to gitlab -8 - Verify that pipeline is run successful +8 - Verify that pipeline is running successfully @@ -1212,7 +1212,7 @@ 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". +For ElasticSearch 5.0 and above, the previous "plugin" command has been renamed to "elasticsearch-plguin". Use the following instead: ```bash From 812570d6a3a04cc1286e7800871cd5eea1a900b5 Mon Sep 17 00:00:00 2001 From: Amr Date: Thu, 20 Aug 2020 23:16:25 -0500 Subject: [PATCH 53/63] Workspace SQLSRV PHP7.1 Support --- workspace/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 30026fa..514ae54 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1003,8 +1003,10 @@ RUN set -eux; \ ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \ echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ locale-gen && \ - if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ + if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \ pecl install sqlsrv-5.3.0 pdo_sqlsrv-5.3.0 \ + ;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \ + pecl install sqlsrv-5.6.1 pdo_sqlsrv-5.6.1 \ ;else \ pecl install sqlsrv pdo_sqlsrv \ ;fi && \ From 93743c4394025ba153d22db0dded8d6a97852691 Mon Sep 17 00:00:00 2001 From: Dwi Wijonarko Date: Wed, 26 Aug 2020 11:40:45 +0700 Subject: [PATCH 54/63] update wkhtmltopdf version --- php-fpm/Dockerfile | 9 +++++++-- workspace/Dockerfile | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 07443f2..6d56c01 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -872,9 +872,14 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ libx11-dev \ libjpeg62 \ libxtst6 \ + fontconfig \ + libjpeg62-turbo \ + xfonts-base \ + xfonts-75dpi \ 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 \ + && wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.stretch_amd64.deb \ + && dpkg -i wkhtmltox_0.12.6-1.stretch_amd64.deb \ + && apt -f install \ ;fi ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 30026fa..a3154f6 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1318,9 +1318,14 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ libx11-dev \ libjpeg62 \ libxtst6 \ + fontconfig \ + libjpeg-turbo8-dev \ + xfonts-base \ + xfonts-75dpi \ 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 \ + && wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb \ + && dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb \ + && apt -f install \ ;fi ########################################################################### From 07b0c968fb2ccd0ef7efd2fccb796757aa131d1d Mon Sep 17 00:00:00 2001 From: Parth Jani Date: Wed, 26 Aug 2020 21:41:55 -0400 Subject: [PATCH 55/63] grammer errors fixed --- DOCUMENTATION/content/help/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/help/index.md b/DOCUMENTATION/content/help/index.md index dddb80a..519d129 100644 --- a/DOCUMENTATION/content/help/index.md +++ b/DOCUMENTATION/content/help/index.md @@ -105,7 +105,7 @@ WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com ## I got (Module build failed: Error: write EPIPE) while compiling react application -When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive a `Error: write EPIPE` while processing .jpg images. +When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive an `Error: write EPIPE` while processing .jpg images. This is caused of an outdated library for processing **.jpg files** in ubuntu 16.04. @@ -113,7 +113,7 @@ To fix the problem you can follow those steps 1 - Open the `.env`. -2 - Search for `WORKSPACE_INSTALL_LIBPNG` or add the key if missing. +2 - Search for `WORKSPACE_INSTALL_LIBPNG` or add the key, if missing. 3 - Set the value to true: From bf83bf83349145f1231de9873811d708e6846811 Mon Sep 17 00:00:00 2001 From: Parth Jani Date: Wed, 26 Aug 2020 21:52:35 -0400 Subject: [PATCH 56/63] minor grammatical typo fixed --- DOCUMENTATION/content/introduction/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 2fb2d97..6479dad 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -21,7 +21,7 @@ It supports a variety of common services, all pre-configured to provide a ready - Choose your favorite database engine: MySQL, Postgres, MariaDB... - Run your own stack: Memcached, HHVM, RabbitMQ... - Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI... -- Easy to customize any container, with simple edit to the `Dockerfile`. +- Easy to customize any container, with simple edits to the `Dockerfile`. - All Images extends from an official base Image. (Trusted base Images). - Pre-configured NGINX to host any code at your root directory. - Can use Laradock per project, or single Laradock for all projects. @@ -82,7 +82,7 @@ That's it! enjoy :) > You can turn On/Off as many instances as you want without worrying about the configurations. > To run a chosen container from the list below, run `docker-compose up -d {container-name}`. -> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container use the name "php-fpm". +> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container, use the name "php-fpm". - **Web Servers:** - NGINX From 4f4471584107dd78273423ff6287695af8e85ca1 Mon Sep 17 00:00:00 2001 From: Parth Jani Date: Wed, 26 Aug 2020 22:08:08 -0400 Subject: [PATCH 57/63] Grammatical punctuations and typo fixed --- DOCUMENTATION/content/documentation/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 2adc213..99c3186 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -61,7 +61,7 @@ docker-compose down > Run commands in a running Container. -1 - First list the current running containers with `docker ps` +1 - First list the currently running containers with `docker ps` 2 - Enter any container using: @@ -220,9 +220,9 @@ The PHP-CLI extensions should be installed in `workspace/Dockerfile`.
## Change the (PHP-FPM) Version -By default the latest stable PHP versin is configured to run. +By default the latest stable PHP version is configured to run. ->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. +>The PHP-FPM is responsible for 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.2` to PHP `5.6` @@ -309,7 +309,7 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the - Start xDebug by default: `.php-fpm/xdebug start`. - See the status: `.php-fpm/xdebug status`. -Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error the problem can be that file `xdebug` doesn't have execution access. This can be fixed by running `chmod` command with desired access permissions. +Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error the problem can be that file `xdebug` doesn't have execution access. This can be fixed by running `chmod` command with desired access permissions. @@ -820,7 +820,7 @@ 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. +The goal was to proxy the 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`). 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/) @@ -2021,7 +2021,7 @@ To install FFMPEG in the Workspace container 4 - If you use the `php-worker` container too, please follow the same steps above especially if you have conversions that have been queued. -**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. +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise you'll get an error when running the `php-ffmpeg` binary.
From 489075fc67a254e0039008148bc386343b3319c9 Mon Sep 17 00:00:00 2001 From: Lan Dong Si Hoang Date: Thu, 3 Sep 2020 15:46:24 +0700 Subject: [PATCH 58/63] Add support for http2 for Apache2 --- apache2/Dockerfile | 13 +++++++++++++ docker-compose.yml | 1 + env-example | 1 + 3 files changed, 15 insertions(+) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 7f0e657..d31fcfe 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -19,6 +19,19 @@ WORKDIR /var/www/ COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf +ARG APACHE_INSTALL_HTTP2=false +RUN if [ ${APACHE_INSTALL_HTTP2} = true ]; then \ + mkdir /etc/apache2/ssl 2> /dev/null && \ + && openssl genrsa -out "/etc/apache2/ssl/ssl_site.key" 2048 \ + && openssl rand -out /root/.rnd -hex 256 \ + && openssl req -new -key "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.csr" -subj "/CN=site.com/O=LGS/C=IT" \ + && openssl x509 -req -days 365 -in "/etc/apache2/ssl/ssl_site.csr" -signkey "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.crt" \ + && a2enmod rewrite \ + && a2enmod headers \ + && a2enmod proxy proxy_html proxy_http xml2enc ssl http2 \ + && service apache2 restart \ +;fi + ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] CMD ["supervisord"] diff --git a/docker-compose.yml b/docker-compose.yml index 5221f87..ffc3f92 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -388,6 +388,7 @@ services: - PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT} - PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT} - DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT} + - APACHE_INSTALL_HTTP2=${APACHE_INSTALL_HTTP2} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APACHE_HOST_LOG_PATH}:/var/log/apache2 diff --git a/env-example b/env-example index ef13d64..60bbfc4 100644 --- a/env-example +++ b/env-example @@ -302,6 +302,7 @@ APACHE_PHP_UPSTREAM_CONTAINER=php-fpm APACHE_PHP_UPSTREAM_PORT=9000 APACHE_PHP_UPSTREAM_TIMEOUT=60 APACHE_DOCUMENT_ROOT=/var/www/ +APACHE_INSTALL_HTTP2=false ### MYSQL ################################################# From 9101c4572d37b8c60b638a5413e721892973972b Mon Sep 17 00:00:00 2001 From: Lan Dong Si Hoang Date: Thu, 3 Sep 2020 15:55:06 +0700 Subject: [PATCH 59/63] Fix syntax --- apache2/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index d31fcfe..ec824f4 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -20,9 +20,9 @@ WORKDIR /var/www/ COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf ARG APACHE_INSTALL_HTTP2=false +RUN mkdir /etc/apache2/ssl 2> /dev/null RUN if [ ${APACHE_INSTALL_HTTP2} = true ]; then \ - mkdir /etc/apache2/ssl 2> /dev/null && \ - && openssl genrsa -out "/etc/apache2/ssl/ssl_site.key" 2048 \ + openssl genrsa -out "/etc/apache2/ssl/ssl_site.key" 2048 \ && openssl rand -out /root/.rnd -hex 256 \ && openssl req -new -key "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.csr" -subj "/CN=site.com/O=LGS/C=IT" \ && openssl x509 -req -days 365 -in "/etc/apache2/ssl/ssl_site.csr" -signkey "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.crt" \ From fbfb2c07fc8865698894ee17c33fdb28b30a7348 Mon Sep 17 00:00:00 2001 From: Marcus Date: Thu, 3 Sep 2020 12:24:01 +0200 Subject: [PATCH 60/63] fix: use postgresql-client-12 in workspace it's not possible to import postgresql 12 databases unless the client version is also 12. --- workspace/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 30026fa..2aee68c 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1160,10 +1160,10 @@ ARG INSTALL_PG_CLIENT=false RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ # Install the pgsql client apt-get install wget \ - && add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" \ && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ + && echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \ && apt-get update \ - && apt-get -y install postgresql-client-10 \ + && apt-get -y install postgresql-client-12 \ ;fi ########################################################################### From a3b451b408e015059fd3cc7e2f098c7b459e1ab7 Mon Sep 17 00:00:00 2001 From: abler98 Date: Fri, 4 Sep 2020 19:03:23 +0300 Subject: [PATCH 61/63] Add support for Protoc in workspace --- docker-compose.yml | 2 ++ env-example | 2 ++ workspace/Dockerfile | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index bda44f2..8f12831 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -151,6 +151,8 @@ services: - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} - INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} + - INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC} + - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION} - http_proxy - https_proxy - no_proxy diff --git a/env-example b/env-example index b08825b..6d422cb 100644 --- a/env-example +++ b/env-example @@ -178,6 +178,8 @@ WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200 WORKSPACE_INSTALL_GIT_PROMPT=false +WORKSPACE_INSTALL_PROTOC=false +WORKSPACE_PROTOC_VERSION=latest ### PHP_FPM ############################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f5a8846..1c5c218 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1376,6 +1376,27 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \ docker-php-ext-install xmlrpc \ ;fi +########################################################################### +# Protoc: +########################################################################### + +ARG INSTALL_PROTOC=false +ARG PROTOC_VERSION + +RUN if [ ${INSTALL_PROTOC} = true ]; then \ + if [ ${PROTOC_VERSION} = "latest" ]; then \ + REAL_PROTOC_VERSION=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | \ + sed -nr 's/.*"tag_name":\s?"v(.+?)".*/\1/p'); \ + else \ + REAL_PROTOC_VERSION=${PROTOC_VERSION}; \ + fi && \ + PROTOC_ZIP=protoc-${REAL_PROTOC_VERSION}-linux-x86_64.zip; \ + curl -L -o /tmp/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v${REAL_PROTOC_VERSION}/${PROTOC_ZIP} && \ + unzip -q -o /tmp/protoc.zip -d /usr/local bin/protoc && \ + unzip -q -o /tmp/protoc.zip -d /usr/local 'include/*' && \ + rm -f /tmp/protoc.zip \ +;fi + ########################################################################### # Check PHP version: ########################################################################### From 2c41e2a749b2a96dce93773dc273b426e92fd975 Mon Sep 17 00:00:00 2001 From: abler98 Date: Mon, 14 Sep 2020 17:52:04 +0300 Subject: [PATCH 62/63] Add support for lnav in workspace --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index bda44f2..62ea0f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -151,6 +151,7 @@ services: - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} - INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} + - INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV} - http_proxy - https_proxy - no_proxy diff --git a/env-example b/env-example index b08825b..a2b3ad3 100644 --- a/env-example +++ b/env-example @@ -178,6 +178,7 @@ WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200 WORKSPACE_INSTALL_GIT_PROMPT=false +WORKSPACE_INSTALL_LNAV=false ### PHP_FPM ############################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f5a8846..4834a6b 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1376,6 +1376,16 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \ docker-php-ext-install xmlrpc \ ;fi +########################################################################### +# Lnav: +########################################################################### + +ARG INSTALL_LNAV=false + +RUN if [ ${INSTALL_LNAV} = true ]; then \ + apt-get install -y lnav \ +;fi + ########################################################################### # Check PHP version: ########################################################################### From 6d77ff9277f354622f25d4f9006d317b82622ec3 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Tue, 15 Sep 2020 22:58:26 +0800 Subject: [PATCH 63/63] Update Dockerfile --- workspace/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0686013..c0279b0 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1405,6 +1405,7 @@ RUN if [ ${INSTALL_PROTOC} = true ]; then \ unzip -q -o /tmp/protoc.zip -d /usr/local bin/protoc && \ unzip -q -o /tmp/protoc.zip -d /usr/local 'include/*' && \ rm -f /tmp/protoc.zip \ +;fi ########################################################################### # Check PHP version: