From ee89ff96d5d2441bd65e227aeea82462a2eefdb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Tue, 4 Dec 2018 00:52:59 +0800 Subject: [PATCH 01/96] [U] ignore self-signed certificate --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 890c25c1..4235e773 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /.project .docker-sync /jenkins/jenkins_home +/nginx/ssl/ From 2de32fe97fb5edd36a0de199b8504bcd3877818c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Tue, 4 Dec 2018 01:35:21 +0800 Subject: [PATCH 02/96] [F] fix latest version for mysql8.0.13 --- mysql/my.cnf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql/my.cnf b/mysql/my.cnf index e03ccf88..399eaac2 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -7,4 +7,4 @@ [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" -character-set-server=utf8 +character-set-server=utf8mb4 From 28e82813c4bbc84547cfac1c91e21342dfeed588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Tue, 4 Dec 2018 01:57:37 +0800 Subject: [PATCH 03/96] [F] fix mysql cann't start when version is 8.* --- docker-compose.yml | 1 + mysql/my.cnf | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0c3ff899..2965a678 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -303,6 +303,7 @@ services: context: ./mysql args: - MYSQL_VERSION=${MYSQL_VERSION} + command: "--innodb_use_native_aio=0" environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} diff --git a/mysql/my.cnf b/mysql/my.cnf index 399eaac2..68578ef0 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -6,5 +6,5 @@ [mysql] [mysqld] -sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" +sql-mode="STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8mb4 From f23149115d7f8c8ecfe18f82b62f57f02d4d56bc Mon Sep 17 00:00:00 2001 From: Anton Sannikov Date: Mon, 20 May 2019 22:51:36 +0200 Subject: [PATCH 04/96] Confluence docs added --- DOCUMENTATION/content/documentation/index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 0704aba4..22aa559c 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1023,8 +1023,21 @@ _Note: You can customize the port on which beanstalkd console is listening by ch +
+ +## Use Confluence +1 - Run the Confluence Container (`confluence`) with the `docker-compose up` command. Example: +```bash +docker-compose up -d confluence +``` + +2 - Open your browser and visit the localhost on port **8090**: `http://localhost:8090` + +**Note:** You can you trial version and then you have to buy a licence to use it. + +You can set custom confluence version in `CONFLUENCE_VERSION`. [Find more info in section 'Versioning'](https://hub.docker.com/r/atlassian/confluence-server/)
From cd80ca59df6589b88bb3e00b205ee23c3b82f835 Mon Sep 17 00:00:00 2001 From: Caesar Chi Date: Mon, 8 Jul 2019 23:36:07 +0800 Subject: [PATCH 05/96] gcloud registry auth step for docker build nowaday, the docker image build from gcloud registry, so you need auth the configure and login the gcloud first to build the docker image. --- DOCUMENTATION/content/getting-started/index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index 8262ead1..be9dba43 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -8,6 +8,7 @@ weight: 2 - [Git](https://git-scm.com/downloads) - [Docker](https://www.docker.com/products/docker/) `>= 17.12` +- [gcloud](https://cloud.google.com/sdk/install) @@ -24,6 +25,17 @@ Choose the setup the best suits your needs. - [A.2) Don't have a PHP project yet](#A2) - [B) Setup for Multiple Projects](#B) +### Setup gcloud for docker registry + +``` +gcloud auth configure-docker +``` + +and login to gcloud for use the registry and auth the permission. + +``` +gcloud auth login +``` ### A) Setup for Single Project From b2de93cc1ba10c06c39f5ff6cc58756c484e5960 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Sun, 4 Aug 2019 14:07:05 -0400 Subject: [PATCH 06/96] Add support for pcov code coverage driver --- DOCUMENTATION/content/documentation/index.md | 23 ++++++++++++++++++++ docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 19 ++++++++++++++++ workspace/Dockerfile | 19 ++++++++++++++++ 5 files changed, 65 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index a9aeb8a1..55fbb1fd 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -299,6 +299,29 @@ For information on how to configure xDebug with your IDE and work it out, check +
+ +## Install pcov + +1 - First install `pcov` in the Workspace and the PHP-FPM Containers: +
+a) open the `.env` file +
+b) search for the `WORKSPACE_INSTALL_PCOV` argument under the Workspace Container +
+c) set it to `true` +
+d) search for the `PHP_FPM_INSTALL_PCOV` argument under the PHP-FPM Container +
+e) set it to `true` + +2 - Re-build the containers `docker-compose build workspace php-fpm` + +Note that pcov is only supported on PHP 7.1 or newer. For more information on setting up pcov optimally, check the recommended section +of the [README](https://github.com/krakjoe/pcov) + + +
## Start/Stop xDebug: diff --git a/docker-compose.yml b/docker-compose.yml index e4a4fc4b..5374b8d2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,6 +59,7 @@ services: - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} + - INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2} @@ -148,6 +149,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} + - INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2} diff --git a/env-example b/env-example index 0e80c21b..39dd35cb 100644 --- a/env-example +++ b/env-example @@ -97,6 +97,7 @@ WORKSPACE_INSTALL_PHPREDIS=true WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_XDEBUG=false +WORKSPACE_INSTALL_PCOV=true WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_SSH2=false WORKSPACE_INSTALL_LDAP=false @@ -157,6 +158,7 @@ PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_XDEBUG=false +PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_XHPROF=false PHP_FPM_INSTALL_PHPDBG=false PHP_FPM_INSTALL_IMAP=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 68a1933e..bc748698 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -164,6 +164,25 @@ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /usr/local/e sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /usr/local/etc/php/conf.d/xdebug.ini && \ sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /usr/local/etc/php/conf.d/xdebug.ini +########################################################################### +# pcov: +########################################################################### + +USER root + +ARG INSTALL_PCOV=false + +RUN if [ ${INSTALL_PCOV} = true ]; then \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") != "0" ]; then \ + pecl install pcov && \ + echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \ + echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ + ;fi \ + ;fi \ +;fi + + ########################################################################### # Phpdbg: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index cbbeb2e9..788244bd 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -324,6 +324,25 @@ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /etc/php/${L sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \ sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini +########################################################################### +# pcov: +########################################################################### + +USER root + +ARG INSTALL_PCOV=false + +RUN if [ ${INSTALL_PCOV} = true ]; then \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") != "0" ]; then \ + pecl install pcov && \ + echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \ + echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ + ;fi \ + ;fi \ +;fi + + ########################################################################### # Phpdbg: ########################################################################### From c2caf730db7459469cb23d1a3fbc91806047c849 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Sun, 4 Aug 2019 14:14:32 -0400 Subject: [PATCH 07/96] Accidentally left the PCOV env file to defaul true and moved Pcov documentation section below all xdebug entries --- DOCUMENTATION/content/documentation/index.md | 32 ++++++++++---------- env-example | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 55fbb1fd..79d2e416 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -299,6 +299,22 @@ For information on how to configure xDebug with your IDE and work it out, check +
+ +## Start/Stop xDebug: + +By installing xDebug, you are enabling it to run on startup by default. + +To control the behavior of xDebug (in the `php-fpm` Container), you can run the following commands from the Laradock root folder, (at the same prompt where you run docker-compose): + +- Stop xDebug from running by default: `.php-fpm/xdebug stop`. +- 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. + + +
## Install pcov @@ -322,22 +338,6 @@ of the [README](https://github.com/krakjoe/pcov) -
- -## Start/Stop xDebug: - -By installing xDebug, you are enabling it to run on startup by default. - -To control the behavior of xDebug (in the `php-fpm` Container), you can run the following commands from the Laradock root folder, (at the same prompt where you run docker-compose): - -- Stop xDebug from running by default: `.php-fpm/xdebug stop`. -- 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. - - -
## Install phpdbg diff --git a/env-example b/env-example index 39dd35cb..3861cd7b 100644 --- a/env-example +++ b/env-example @@ -97,7 +97,7 @@ WORKSPACE_INSTALL_PHPREDIS=true WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_XDEBUG=false -WORKSPACE_INSTALL_PCOV=true +WORKSPACE_INSTALL_PCOV=false WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_SSH2=false WORKSPACE_INSTALL_LDAP=false From 47bb995cad1fb16c5e1dff001b917ad3f9c6a608 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Mon, 5 Aug 2019 09:53:36 -0400 Subject: [PATCH 08/96] Typo in PHP version check --- workspace/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 788244bd..c70be919 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -334,7 +334,7 @@ ARG INSTALL_PCOV=false RUN if [ ${INSTALL_PCOV} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ - if [ $(php -r "echo PHP_MAJOR_VERSION;") != "0" ]; then \ + if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \ pecl install pcov && \ echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \ echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ From bdf2a285a7d9f7d036794b410e85f97ee61aa8c0 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Mon, 5 Aug 2019 09:54:15 -0400 Subject: [PATCH 09/96] Typo in PHP Version check --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index bc748698..59d64b9e 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -174,7 +174,7 @@ ARG INSTALL_PCOV=false RUN if [ ${INSTALL_PCOV} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ - if [ $(php -r "echo PHP_MAJOR_VERSION;") != "0" ]; then \ + if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \ pecl install pcov && \ echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \ echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ From ff640a0ca2070b3e02773959504232a1ec494231 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Mon, 5 Aug 2019 10:45:12 -0400 Subject: [PATCH 10/96] Use docker command to enable pcov --- php-fpm/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 59d64b9e..527d9c45 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -176,8 +176,7 @@ RUN if [ ${INSTALL_PCOV} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \ pecl install pcov && \ - echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \ - echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ + docker-php-ext-enable pcov \ ;fi \ ;fi \ ;fi From f64adc211430a668021833f53a14db978f71c04e Mon Sep 17 00:00:00 2001 From: mouyong Date: Fri, 9 Aug 2019 08:52:32 +0800 Subject: [PATCH 11/96] workspace and php-fpm change source --- docker-compose.yml | 5 +++++ mysql/my.cnf | 8 +++++++- .../sites/{default.conf => default.conf.example} | 0 php-fpm/Dockerfile | 10 ++++++++++ php-fpm/debian.sources.list | 8 ++++++++ php-fpm/xdebug.ini | 9 +++++++-- workspace/Dockerfile | 9 +++++++++ workspace/ubuntu.sources.list | 15 +++++++++++++++ workspace/xdebug.ini | 9 +++++++-- 9 files changed, 68 insertions(+), 5 deletions(-) rename nginx/sites/{default.conf => default.conf.example} (100%) create mode 100644 php-fpm/debian.sources.list create mode 100644 workspace/ubuntu.sources.list diff --git a/docker-compose.yml b/docker-compose.yml index 462b085d..2b9bff34 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,6 +55,7 @@ services: build: context: ./workspace args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} @@ -126,6 +127,7 @@ services: - no_proxy volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} + - "./workspace/crontab/laradock:/etc/cron.d/laradock" extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" ports: @@ -145,6 +147,7 @@ services: build: context: ./php-fpm args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} @@ -200,6 +203,7 @@ services: - "9000" extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" + dns: 114.114.114.114 environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - DOCKER_HOST=tcp://docker-in-docker:2375 @@ -211,6 +215,7 @@ services: links: - docker-in-docker + ### PHP Worker ############################################ php-worker: build: diff --git a/mysql/my.cnf b/mysql/my.cnf index 68578ef0..a7facd5c 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -6,5 +6,11 @@ [mysql] [mysqld] -sql-mode="STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" +sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8mb4 +skip-name-resolve +symbolic-links=0 +explicit_defaults_for_timestamp +default_authentication_plugin=mysql_native_password +#skip-grant-tables=1 + 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/php-fpm/Dockerfile b/php-fpm/Dockerfile index 68a1933e..183bd3cf 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -24,6 +24,16 @@ ARG LARADOCK_PHP_VERSION # Set Environment Variables ENV DEBIAN_FRONTEND noninteractive +# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. + +ADD debian.sources.list /etc/apt/debian.sources.list +ARG CHANGE_SOURCE=false +RUN if [ ${CHANGE_SOURCE} = true ]; then \ + mv /etc/apt/sources.list /etc/apt/sources.list.back && \ + mv /etc/apt/debian.sources.list /etc/apt/sources.list \ +;fi + + # always run apt update when start and after add new source list, then clean up at end. RUN set -xe; \ apt-get update -yqq && \ diff --git a/php-fpm/debian.sources.list b/php-fpm/debian.sources.list new file mode 100644 index 00000000..4cf49767 --- /dev/null +++ b/php-fpm/debian.sources.list @@ -0,0 +1,8 @@ +deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib +deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib +deb http://mirrors.aliyun.com/debian-security stretch/updates main +deb-src http://mirrors.aliyun.com/debian-security stretch/updates main +deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib +deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib +deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib +deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib \ No newline at end of file diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index c3f32ece..42a7c9b7 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -5,14 +5,19 @@ xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM -xdebug.remote_autostart=0 +xdebug.remote_autostart=1 xdebug.remote_enable=0 -xdebug.cli_color=0 +xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req +xdebug.remote_log=/var/log/php/xdebug_remote.log + +xdebug.auto_trace = 1 +xdebug.collect_params = 1 +xdebug.collect_return = 1 xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 diff --git a/workspace/Dockerfile b/workspace/Dockerfile index cbbeb2e9..fa2ea64c 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -24,6 +24,15 @@ ARG LARADOCK_PHP_VERSION # Set Environment Variables ENV DEBIAN_FRONTEND noninteractive +# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. + +ADD ubuntu.sources.list /etc/apt/ubuntu.sources.list +ARG CHANGE_SOURCE=false +RUN if [ ${CHANGE_SOURCE} = true ]; then \ + mv /etc/apt/sources.list /etc/apt/sources.list.back && \ + mv /etc/apt/ubuntu.sources.list /etc/apt/sources.list \ +;fi + # Start as root USER root diff --git a/workspace/ubuntu.sources.list b/workspace/ubuntu.sources.list new file mode 100644 index 00000000..6edaa130 --- /dev/null +++ b/workspace/ubuntu.sources.list @@ -0,0 +1,15 @@ +deb http://mirrors.aliyun.com/ubuntu/ xenial main +deb-src http://mirrors.aliyun.com/ubuntu/ xenial main + +deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main +deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main + +deb http://mirrors.aliyun.com/ubuntu/ xenial universe +deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe +deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe +deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe + +deb http://mirrors.aliyun.com/ubuntu/ xenial-security main +deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main +deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe +deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe \ No newline at end of file diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index c3f32ece..42a7c9b7 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -5,14 +5,19 @@ xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM -xdebug.remote_autostart=0 +xdebug.remote_autostart=1 xdebug.remote_enable=0 -xdebug.cli_color=0 +xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req +xdebug.remote_log=/var/log/php/xdebug_remote.log + +xdebug.auto_trace = 1 +xdebug.collect_params = 1 +xdebug.collect_return = 1 xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 From f01cab7742eca0c4fbc7a3e9afc11acabcb903d0 Mon Sep 17 00:00:00 2001 From: mouyong Date: Fri, 9 Aug 2019 09:08:49 +0800 Subject: [PATCH 12/96] set xdebug.remote_autostart=0 https://github.com/laradock/laradock/issues/2112#issuecomment-489603086 --- php-fpm/xdebug.ini | 2 +- workspace/xdebug.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index 42a7c9b7..1fef0580 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -5,7 +5,7 @@ xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM -xdebug.remote_autostart=1 +xdebug.remote_autostart=0 xdebug.remote_enable=0 xdebug.cli_color=1 xdebug.profiler_enable=0 diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index 42a7c9b7..1fef0580 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -5,7 +5,7 @@ xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM -xdebug.remote_autostart=1 +xdebug.remote_autostart=0 xdebug.remote_enable=0 xdebug.cli_color=1 xdebug.profiler_enable=0 From 48933479809a318cb17bed7742655f65da4aac03 Mon Sep 17 00:00:00 2001 From: mouyong Date: Fri, 9 Aug 2019 09:14:10 +0800 Subject: [PATCH 13/96] remove setting remote_log --- php-fpm/xdebug.ini | 3 +-- workspace/xdebug.ini | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index 1fef0580..9bc6578f 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -6,14 +6,13 @@ xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 -xdebug.remote_enable=0 +xdebug.remote_enable=1 xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req -xdebug.remote_log=/var/log/php/xdebug_remote.log xdebug.auto_trace = 1 xdebug.collect_params = 1 diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index 1fef0580..9bc6578f 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -6,14 +6,13 @@ xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 -xdebug.remote_enable=0 +xdebug.remote_enable=1 xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req -xdebug.remote_log=/var/log/php/xdebug_remote.log xdebug.auto_trace = 1 xdebug.collect_params = 1 From b8a971e634275bd290bc6f880e39f54f3344e1fd Mon Sep 17 00:00:00 2001 From: mouyong Date: Fri, 9 Aug 2019 09:26:40 +0800 Subject: [PATCH 14/96] fix in aliyun mirrors, hash check error. --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 183bd3cf..d5aba61d 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -574,7 +574,7 @@ USER root ARG INSTALL_IMAGEMAGICK=false RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ - apt-get install -y libmagickwand-dev imagemagick && \ + apt-get install -f -y libmagickwand-dev imagemagick && \ pecl install imagick && \ docker-php-ext-enable imagick \ ;fi From ab3a325ea3396fe95175986ab33290a630822cdf Mon Sep 17 00:00:00 2001 From: mouyong Date: Fri, 9 Aug 2019 13:11:03 +0800 Subject: [PATCH 15/96] fix apt install fail --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d5aba61d..3b0b6007 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -574,7 +574,7 @@ USER root ARG INSTALL_IMAGEMAGICK=false RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ - apt-get install -f -y libmagickwand-dev imagemagick && \ + apt-get install --fix-missing -y libmagickwand-dev imagemagick && \ pecl install imagick && \ docker-php-ext-enable imagick \ ;fi From 4184f45fbd9630ce393a5291c29765eea8ca0c1f Mon Sep 17 00:00:00 2001 From: Adrian Nuta Date: Sat, 10 Aug 2019 11:04:26 +0200 Subject: [PATCH 16/96] update manticore log folder --- docker-compose.yml | 2 +- manticore/config/sphinx.conf | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e4a4fc4b..c3e0125c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1531,7 +1531,7 @@ services: volumes: - ${MANTICORE_CONFIG_PATH}:/etc/sphinxsearch - ${DATA_PATH_HOST}/manticore/data:/var/lib/manticore/data - - ${DATA_PATH_HOST}/manticore/log:/var/lib/manticore/log + - ${DATA_PATH_HOST}/manticore/log:/var/log/manticore ports: - "${MANTICORE_API_PORT}:9312" - "${MANTICORE_SPHINXQL_PORT}:9306" diff --git a/manticore/config/sphinx.conf b/manticore/config/sphinx.conf index 0a992b97..98241757 100644 --- a/manticore/config/sphinx.conf +++ b/manticore/config/sphinx.conf @@ -11,12 +11,12 @@ searchd { listen = 9312 listen = 9308:http listen = 9306:mysql41 - log = /var/lib/manticore/log/searchd.log + log = /var/log/manticore/searchd.log # you can also send query_log to /dev/stdout to be shown in docker logs - query_log = /var/lib/manticore/log/query.log + query_log = /var/log/manticore/query.log read_timeout = 5 max_children = 30 - pid_file = /var/run/searchd.pid + pid_file = /var/run/manticore/searchd.pid seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 From ae64a619b713b4d574967c1a7bbe318f8c6b1834 Mon Sep 17 00:00:00 2001 From: xiagw Date: Sun, 25 Aug 2019 17:24:17 +0800 Subject: [PATCH 17/96] add tomcat --- docker-compose.yml | 17 ++++++++++++++++- env-example | 4 ++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1a729e87..2d06b7f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1487,6 +1487,7 @@ services: networks: - backend - frontend + ### CONFLUENCE ################################################ confluence: container_name: Confluence @@ -1500,4 +1501,18 @@ services: depends_on: - postgres volumes: - - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data \ No newline at end of file + - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data + +### tomcat #################################################### + tomcat: + container_name: tomcat + image: tomcat:${TOMCAT_VERSION} + ports: + - "${TOMCAT_HOST_HTTP_PORT}:8080" + networks: + - frontend + - backend + volumes: + - ${DATA_PATH_HOST}/tomcat/webapps:/usr/local/tomcat/webapps + - ${DATA_PATH_HOST}/tomcat/logs:/usr/local/tomcat/logs + # restart: always \ No newline at end of file diff --git a/env-example b/env-example index 6bc5a3f3..cf0ab26a 100644 --- a/env-example +++ b/env-example @@ -718,3 +718,7 @@ SONARQUBE_POSTGRES_HOST=postgres SONARQUBE_POSTGRES_DB=sonar SONARQUBE_POSTGRES_USER=sonar SONARQUBE_POSTGRES_PASSWORD=sonarPass + +### TOMCAT ################################################ +TOMCAT_VERSION=8.5.43 +TOMCAT_HOST_HTTP_PORT=8080 From 1f2643f52c6679e1da496302c9e2564b364e477d Mon Sep 17 00:00:00 2001 From: insua Date: Wed, 11 Sep 2019 16:59:56 +0800 Subject: [PATCH 18/96] fix(compose file): add missing config for inotify and fswatch --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index e4a4fc4b..9306d6d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -109,6 +109,8 @@ services: - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${WORKSPACE_INSTALL_PING} - INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS} + - INSTALL_INOTIFY=${WORKSPACE_INSTALL_INOTIFY} + - INSTALL_FSWATCH=${WORKSPACE_INSTALL_FSWATCH} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} From 559acc278b0f461bdfb165fdbaa1bfde191d9df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joa=CC=83o=20Zonta?= Date: Wed, 11 Sep 2019 23:54:29 -0300 Subject: [PATCH 19/96] Added support for OCI8 extension in workspace and php-fpm containers. PHP 5.6, 7.0, 7.1, 7.2 and 7.3 --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 45 ++++++++++++++++++++++++++++++++++++++++++++ workspace/Dockerfile | 41 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index e4a4fc4b..cf2c53c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -83,6 +83,7 @@ services: - INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI} - INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE} - INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE} + - INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8} - INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS} - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH} @@ -165,6 +166,7 @@ services: - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} - INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE} + - INSTALL_OCI8=${PHP_FPM_INSTALL_OCI8} - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT} diff --git a/env-example b/env-example index 76a4af31..f5d74eee 100644 --- a/env-example +++ b/env-example @@ -113,6 +113,7 @@ WORKSPACE_DRUSH_VERSION=8.1.17 WORKSPACE_INSTALL_DRUPAL_CONSOLE=false WORKSPACE_INSTALL_WP_CLI=false WORKSPACE_INSTALL_AEROSPIKE=false +WORKSPACE_INSTALL_OCI8=false WORKSPACE_INSTALL_V8JS=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_INSTALLER=false @@ -170,6 +171,7 @@ PHP_FPM_INSTALL_XSL=false PHP_FPM_INSTALL_GMP=false PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_AEROSPIKE=false +PHP_FPM_INSTALL_OCI8=false PHP_FPM_INSTALL_PGSQL=false PHP_FPM_INSTALL_GHOSTSCRIPT=false PHP_FPM_INSTALL_LDAP=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 27dcec74..e769454e 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -423,6 +423,51 @@ RUN set -xe; \ && docker-php-ext-enable aerospike \ ;fi +########################################################################### +# PHP OCI8: +########################################################################### + +ARG INSTALL_OCI8=false + +ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1" +ENV OCI_HOME="/opt/oracle/instantclient_12_1" +ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1" +ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include" +ENV OCI_VERSION=12 + +RUN if [ ${INSTALL_OCI8} = true ]; then \ + # Install wget + apt-get update && apt-get install --no-install-recommends -y wget \ + # Install Oracle Instantclient + && mkdir /opt/oracle \ + && cd /opt/oracle \ + && wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-basic-linux.x64-12.1.0.2.0.zip \ + && wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-sdk-linux.x64-12.1.0.2.0.zip \ + && unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ + && unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ + && ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \ + && ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \ + && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \ + && rm -rf /opt/oracle/*.zip \ + # Install PHP extensions deps + && apt-get update \ + && apt-get install --no-install-recommends -y \ + libaio-dev \ + freetds-dev && \ + # Install PHP extensions + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \ + else \ + echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \ + fi \ + && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \ + && docker-php-ext-configure pdo_dblib --with-libdir=/lib/x86_64-linux-gnu \ + && docker-php-ext-install \ + pdo_oci \ + && docker-php-ext-enable \ + oci8 \ + ;fi + ########################################################################### # IonCube Loader: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0fd26b62..6cc6b975 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -708,6 +708,47 @@ RUN set -xe; \ && echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \ ;fi +########################################################################### +# PHP OCI8: +########################################################################### + +USER root +ARG INSTALL_OCI8=false + +ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1" +ENV OCI_HOME="/opt/oracle/instantclient_12_1" +ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1" +ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include" +ENV OCI_VERSION=12 + +RUN if [ ${INSTALL_OCI8} = true ]; then \ + # Install wget + apt-get update && apt-get install --no-install-recommends -y wget \ + # Install Oracle Instantclient + && mkdir /opt/oracle \ + && cd /opt/oracle \ + && wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-basic-linux.x64-12.1.0.2.0.zip \ + && wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-sdk-linux.x64-12.1.0.2.0.zip \ + && unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ + && unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ + && ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \ + && ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \ + && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \ + && rm -rf /opt/oracle/*.zip \ + # Install PHP extensions deps + && apt-get update \ + && apt-get install --no-install-recommends -y \ + libaio-dev && \ + # Install PHP extensions + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \ + else \ + echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \ + fi \ + && echo "extension=oci8.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ + && php -m | grep -q 'oci8' \ +;fi + ########################################################################### # PHP V8JS: ########################################################################### From b7ede26634c32e43e9198be3da7a63115e714eb7 Mon Sep 17 00:00:00 2001 From: Beau Hastings Date: Sun, 11 Aug 2019 11:09:24 +0800 Subject: [PATCH 20/96] Add ast extension --- DOCUMENTATION/content/documentation/index.md | 20 ++++++++++++++++++++ docker-compose.yml | 2 ++ env-example | 2 ++ workspace/Dockerfile | 15 +++++++++++++++ 4 files changed, 39 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d83b4422..b98fe306 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1973,6 +1973,26 @@ 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 AST PHP extension +AST exposes the abstract syntax tree generated by PHP 7+. This extension is required by tools such as `Phan`, a static analyzer for PHP. + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_AST` argument under the Workspace Container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace` + +**Note** If you need a specific version of AST then search for the `WORKSPACE_AST_VERSION` argument under the Workspace Container and set it to the desired version and continue step 4. + + + +
## PHPStorm Debugging Guide diff --git a/docker-compose.yml b/docker-compose.yml index 07c47f65..9ed17d19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -109,12 +109,14 @@ services: - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${WORKSPACE_INSTALL_PING} - INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS} + - INSTALL_AST=${WORKSPACE_INSTALL_AST} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} - NODE_VERSION=${WORKSPACE_NODE_VERSION} - YARN_VERSION=${WORKSPACE_YARN_VERSION} - DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION} + - AST_VERSION=${WORKSPACE_AST_VERSION} - TZ=${WORKSPACE_TIMEZONE} - BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} diff --git a/env-example b/env-example index 0fd9d9db..09304a20 100644 --- a/env-example +++ b/env-example @@ -145,6 +145,8 @@ WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_GNU_PARALLEL=false +WORKSPACE_INSTALL_AST=true +WORKSPACE_AST_VERSION=1.0.3 ### PHP_FPM ############################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0fd26b62..baf8f226 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -508,6 +508,21 @@ RUN if [ ${INSTALL_INOTIFY} = true ]; then \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-inotify.ini \ ;fi +########################################################################### +# AST EXTENSION +########################################################################### + +ARG INSTALL_AST=false +ARG AST_VERSION=1.0.3 +ENV AST_VERSION ${AST_VERSION} + +RUN if [ ${INSTALL_AST} = true ]; then \ + # Install AST extension + printf "\n" | pecl -q install ast-${AST_VERSION} && \ + echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \ + phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \ +;fi + ########################################################################### # fswatch ########################################################################### From 3f9b888139a2811c65842d492bf8ce2817687a50 Mon Sep 17 00:00:00 2001 From: William Ono Date: Mon, 30 Sep 2019 16:08:09 -0700 Subject: [PATCH 21/96] Run php-fpm as different user (#1745) --- docker-compose.yml | 2 ++ env-example | 3 +++ php-fpm/Dockerfile | 9 ++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 07c47f65..53dee769 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -190,6 +190,8 @@ services: - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} + - PUID=${PHP_FPM_PUID} + - PGID=${PHP_FPM_PGID} - http_proxy - https_proxy - no_proxy diff --git a/env-example b/env-example index 0fd9d9db..b454fec8 100644 --- a/env-example +++ b/env-example @@ -193,6 +193,9 @@ PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" +PHP_FPM_PUID=1000 +PHP_FPM_PGID=1000 + ### PHP_WORKER ############################################ PHP_WORKER_INSTALL_PGSQL=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 3e39d2ec..4a0fcc8a 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -759,7 +759,14 @@ RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ rm /var/log/lastlog /var/log/faillog -RUN usermod -u 1000 www-data +# Configure non-root user. +ARG PUID=1000 +ENV PUID ${PUID} +ARG PGID=1000 +ENV PGID ${PGID} + +RUN groupmod -o -g ${PGID} www-data && \ + usermod -o -u ${PUID} -g www-data www-data # Adding the faketime library to the preload file needs to be done last # otherwise it will preload it for all commands that follow in this file From 3cb43e613925ebe3278578562a7cec514859f298 Mon Sep 17 00:00:00 2001 From: Fernando Larios Date: Tue, 8 Oct 2019 13:35:55 -0600 Subject: [PATCH 22/96] add gettext extensio php-fpm --- docker-compose.yml | 1 + env-example | 3 ++- php-fpm/Dockerfile | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 896adb59..a3f4f2da 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -187,6 +187,7 @@ services: - INSTALL_APCU=${PHP_FPM_INSTALL_APCU} - INSTALL_YAML=${PHP_FPM_INSTALL_YAML} - INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA} + - INSTALL_GETTEXT=${PHP_FPM_INSTALL_GETTEXT} - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES} - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${PHP_FPM_INSTALL_PING} diff --git a/env-example b/env-example index 1b714796..f3afab72 100644 --- a/env-example +++ b/env-example @@ -186,6 +186,7 @@ PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_FAKETIME=false PHP_FPM_INSTALL_IONCUBE=false PHP_FPM_INSTALL_RDKAFKA=false +PHP_FPM_INSTALL_GETTEXT=false PHP_FPM_FAKETIME=-0 PHP_FPM_INSTALL_APCU=false PHP_FPM_INSTALL_YAML=false @@ -822,4 +823,4 @@ GEARMAN_MYSQL_PASSWORD_FILE= # Database to use by Gearman (Default: Gearmand) GEARMAN_MYSQL_DB=Gearmand # Table to use by Gearman (Default: gearman_queue) -GEARMAN_MYSQL_TABLE=gearman_queue \ No newline at end of file +GEARMAN_MYSQL_TABLE=gearman_queue diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d74ef345..f03f696d 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -682,6 +682,17 @@ RUN if [ ${INSTALL_RDKAFKA} = true ]; then \ docker-php-ext-enable rdkafka \ ;fi +########################################################################### +# GETTEXT: +########################################################################### + +ARG INSTALL_GETTEXT=false + +RUN if [ ${INSTALL_GETTEXT} = true ]; then \ + apt-get install -y zlib1g-dev libicu-dev g++ libpq-dev libssl-dev gettext && \ + docker-php-ext-install gettext \ +;fi + ########################################################################### # Install additional locales: ########################################################################### From 52bd45e1b8380ce604b1ea17e1304db34a3a3e42 Mon Sep 17 00:00:00 2001 From: Fernando-Larios Date: Tue, 8 Oct 2019 14:04:12 -0600 Subject: [PATCH 23/96] Update env-example From 4dc4a4e680f247cc4f3f80fe074d11a371c00778 Mon Sep 17 00:00:00 2001 From: Fernando-Larios Date: Tue, 8 Oct 2019 14:05:03 -0600 Subject: [PATCH 24/96] Removing unnecesary spaces From 6764a88fe630b5ca1c53c4c630a9c58c4958253f Mon Sep 17 00:00:00 2001 From: Alone <794000949@qq.com> Date: Wed, 16 Oct 2019 18:18:03 +0800 Subject: [PATCH 25/96] Install supervistor in the workspace --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 12 ++++++++++++ 3 files changed, 14 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 896adb59..8d679bac 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -121,6 +121,7 @@ services: - BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} - INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE} + - INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR} - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} - http_proxy diff --git a/env-example b/env-example index 1b714796..c8618f42 100644 --- a/env-example +++ b/env-example @@ -124,6 +124,7 @@ WORKSPACE_INSTALL_MC=false WORKSPACE_INSTALL_SYMFONY=false WORKSPACE_INSTALL_PYTHON=false WORKSPACE_INSTALL_POWERLINE=false +WORKSPACE_INSTALL_SUPERVISOR=false WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false WORKSPACE_INSTALL_IMAGEMAGICK=false WORKSPACE_INSTALL_TERRAFORM=false diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f413e903..6081ebd3 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -957,6 +957,18 @@ RUN if [ ${INSTALL_POWERLINE} = true ]; then \ ;fi \ ;fi +########################################################################### +# SUPERVISOR: +########################################################################### +ARG INSTALL_SUPERVISOR=false + +RUN if [ ${INSTALL_SUPERVISOR} = true ]; then \ + if [ ${INSTALL_PYTHON} = true ]; then \ + python -m pip install --upgrade supervisor && \ + echo_supervisord_conf > /etc/supervisord.conf \ + ;fi \ +;fi + USER laradock ########################################################################### From 1673c441362524d97eaa5a912617356200f1ddb1 Mon Sep 17 00:00:00 2001 From: Tomoya Suzuki Date: Fri, 25 Oct 2019 18:15:41 +0900 Subject: [PATCH 26/96] change to newer version of tideways/php-xhprof-extension --- php-fpm/Dockerfile | 2 +- php-fpm/xhprof.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d74ef345..a19390da 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -272,7 +272,7 @@ ARG INSTALL_XHPROF=false RUN if [ ${INSTALL_XHPROF} = true ]; then \ # Install the php xhprof extension if [ $(php -r "echo PHP_MAJOR_VERSION;") = 7 ]; then \ - curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v4.1.7.tar.gz"; \ + curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v5.0.1.tar.gz"; \ else \ curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \ fi \ diff --git a/php-fpm/xhprof.ini b/php-fpm/xhprof.ini index 1b010b9f..2a62fedb 100644 --- a/php-fpm/xhprof.ini +++ b/php-fpm/xhprof.ini @@ -1,6 +1,6 @@ [xhprof] ; extension=xhprof.so -extension=tideways.so +extension=tideways_xhprof.so xhprof.output_dir=/var/www/xhprof ; no need to autoload, control in the program tideways.auto_prepend_library=0 From 51d821b35f527edd4c618b646a31c23a5b8bd942 Mon Sep 17 00:00:00 2001 From: zill057 Date: Mon, 28 Oct 2019 17:15:31 +0800 Subject: [PATCH 27/96] Add CHANGE_SOURCE option for php-worker --- docker-compose.yml | 1 + php-worker/Dockerfile | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 896adb59..ee00bd25 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -222,6 +222,7 @@ services: build: context: ./php-worker args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 9bccca0e..350c40dc 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -9,6 +9,14 @@ FROM php:${PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " +# 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 --update add wget \ curl \ git \ From 8b2bcc6d153e78c4f5289eb832513e787a84a04b Mon Sep 17 00:00:00 2001 From: Alone <794000949@qq.com> Date: Mon, 28 Oct 2019 17:33:13 +0800 Subject: [PATCH 28/96] add config file for supervisord --- docker-compose.yml | 1 + workspace/Dockerfile | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8d679bac..9d34be7e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -129,6 +129,7 @@ services: - no_proxy volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} + - ./php-worker/supervisord.d:/etc/supervisord.d extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" ports: diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6081ebd3..8a1d4c9d 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -965,7 +965,9 @@ ARG INSTALL_SUPERVISOR=false RUN if [ ${INSTALL_SUPERVISOR} = true ]; then \ if [ ${INSTALL_PYTHON} = true ]; then \ python -m pip install --upgrade supervisor && \ - echo_supervisord_conf > /etc/supervisord.conf \ + echo_supervisord_conf > /etc/supervisord.conf && \ + sed -i 's/\;\[include\]/\[include\]/g' /etc/supervisord.conf && \ + sed -i 's/\;files\s.*/files = supervisord.d\/*.conf/g' /etc/supervisord.conf \ ;fi \ ;fi From 41438e9c311e3d514e2a7b32805724336dca34fa Mon Sep 17 00:00:00 2001 From: Alone <794000949@qq.com> Date: Mon, 28 Oct 2019 17:55:36 +0800 Subject: [PATCH 29/96] add install supervisor document --- DOCUMENTATION/content/documentation/index.md | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d2b91fb4..d2d574c0 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1865,6 +1865,27 @@ To install GNU Parallel in the Workspace container +
+ +## Install Supervisor + +Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. + +(see http://supervisord.org/index.html) + +To install Supervisor in the Workspace container + +1 - Open the `.env` file + +2 - Set `WORKSPACE_INSTALL_SUPERVISOR` and `WORKSPACE_INSTALL_PYTHON` to `true`. + +3 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` + + + + + +

From 7ad82a3cd1f864d21de73b513f24760b5c96a4de Mon Sep 17 00:00:00 2001 From: Anton Sannikov Date: Thu, 31 Oct 2019 11:50:39 +0300 Subject: [PATCH 30/96] Added nginx settings for confluence --- DOCUMENTATION/content/documentation/index.md | 10 +++++ nginx/sites/confluence.conf.example | 43 ++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 nginx/sites/confluence.conf.example diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d2b91fb4..14d9e331 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1044,6 +1044,7 @@ _Note: You can customize the port on which beanstalkd console is listening by ch
+ ## Use Confluence 1 - Run the Confluence Container (`confluence`) with the `docker-compose up` command. Example: @@ -1058,6 +1059,15 @@ docker-compose up -d confluence You can set custom confluence version in `CONFLUENCE_VERSION`. [Find more info in section 'Versioning'](https://hub.docker.com/r/atlassian/confluence-server/) + +##### Confluence usage with Nginx and SSL. + +1. Find an instance configuration file in `nginx/sites/confluence.conf.example` and replace sample domain with yours. + +2. Configure ssl keys to your domain. + +Keep in mind that Confluence is still accessible on 8090 anyway. +
## Use ElasticSearch diff --git a/nginx/sites/confluence.conf.example b/nginx/sites/confluence.conf.example new file mode 100644 index 00000000..f804956b --- /dev/null +++ b/nginx/sites/confluence.conf.example @@ -0,0 +1,43 @@ +server { + listen 80; + listen [::]:80; + server_name www.confluence-domain.com; + rewrite ^(.*) https://confluence-domain.com$1/ permanent; +} + +server { + listen 80; + listen [::]:80; + server_name confluence-domain.com; + rewrite ^(.*) https://confluence-domain.com/ permanent; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + ssl_certificate /etc/nginx/ssl/confluence-domain.com.crt; + ssl_certificate_key /etc/nginx/ssl/confluence-domain.com.key; + + server_name confluence-domain.com; + + location / { + client_max_body_size 100m; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://confluence-domain.com:8090/; + } + + location /synchrony { + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://confluence-domain.com:8090/synchrony-proxy; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + + error_log /var/log/nginx/bookchangerru_error.log; + access_log /var/log/nginx/bookchangerru_access.log; +} From 402ea8747a020590ccc7c5a8606fb3f212e0b7b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAnior=20Ara=C3=BAjo?= Date: Fri, 1 Nov 2019 14:35:23 -0300 Subject: [PATCH 31/96] Install MongoDB drivers --- laravel-horizon/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 5ce1d8ef..425499d6 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -74,6 +74,12 @@ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ && docker-php-ext-enable cassandra \ ;fi +# Install MongoDB drivers: +ARG INSTALL_MONGO=false +RUN if [ ${INSTALL_MONGO} = true ]; then \ + pecl install mongodb \ + && docker-php-ext-enable mongodb \ + ;fi ########################################################################### From 10c28a14fa5ec044ce55e6aeaead6f296c62575b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=85=8B?= Date: Sat, 2 Nov 2019 21:19:37 +0800 Subject: [PATCH 32/96] Use default user --- DOCUMENTATION/content/documentation/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d83b4422..0e01cec7 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -76,7 +76,7 @@ docker-compose exec mysql bash *Example: enter to MySQL prompt within MySQL container* ```bash -docker-compose exec mysql mysql -u homestead -psecret +docker-compose exec mysql mysql -udefault -psecret ``` 3 - To exit a container, type `exit`. @@ -1575,7 +1575,7 @@ The default username and password for the root MySQL user are `root` and `root ` 1 - Enter the MySQL container: `docker-compose exec mysql bash`. -2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`. +2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -udefault -psecret`. 3 - See all users: `SELECT User FROM mysql.user;` From 0573bbc58a1686a6611a3e4d61756f98be5e6e6b Mon Sep 17 00:00:00 2001 From: zhushaolong <15210900722@163.com> Date: Wed, 13 Nov 2019 14:16:47 +0800 Subject: [PATCH 33/96] update document for workspace supervisor --- DOCUMENTATION/content/documentation/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index a8bdcb86..75ef625b 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1879,7 +1879,9 @@ To install Supervisor in the Workspace container 2 - Set `WORKSPACE_INSTALL_SUPERVISOR` and `WORKSPACE_INSTALL_PYTHON` to `true`. -3 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` +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` From c6ad0a1a2d7d7c02b2a11f8733c5be6554e0fca5 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Wed, 13 Nov 2019 19:58:39 +0100 Subject: [PATCH 34/96] Remove a dead link from the documentation --- DOCUMENTATION/content/introduction/index.md | 1 - README.md | 1 - 2 files changed, 2 deletions(-) diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index fc4f6241..0505d981 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -36,7 +36,6 @@ Supporting a variety of common services, all pre-configured to provide a full PH ## Sponsors - diff --git a/README.md b/README.md index 3e794ffc..09c7c489 100644 --- a/README.md +++ b/README.md @@ -176,7 +176,6 @@ Contribute and help us sustain the project. ## Sponsors - From 4e5a142c9d89e6b5d9f3186fa86cbbd6142e8070 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Wed, 13 Nov 2019 23:08:54 +0100 Subject: [PATCH 35/96] YAML extension for php-cli (#2360) * Add 'WORKSPACE_INSTALL_YAML' variable to install php yaml extension for php-cli * Set 'INSTALL_YAML' variable to install php yaml extension for php-cli * Install yaml extension for php-cli --- docker-compose.yml | 1 + env-example | 3 ++- workspace/Dockerfile | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0bc79725..d2152543 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -110,6 +110,7 @@ services: - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${WORKSPACE_INSTALL_PING} - INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS} + - INSTALL_YAML=${WORKSPACE_INSTALL_YAML} - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} diff --git a/env-example b/env-example index 673deb0a..a52f36ef 100644 --- a/env-example +++ b/env-example @@ -140,6 +140,7 @@ WORKSPACE_INSTALL_PING=false WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_FSWATCH=false +WORKSPACE_INSTALL_YAML=false WORKSPACE_INSTALL_MAILPARSE=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 @@ -826,4 +827,4 @@ GEARMAN_MYSQL_PASSWORD_FILE= # Database to use by Gearman (Default: Gearmand) GEARMAN_MYSQL_DB=Gearmand # Table to use by Gearman (Default: gearman_queue) -GEARMAN_MYSQL_TABLE=gearman_queue \ No newline at end of file +GEARMAN_MYSQL_TABLE=gearman_queue diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 8a1d4c9d..58bd4633 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1101,6 +1101,25 @@ RUN if [ ${INSTALL_SSHPASS} = true ]; then \ apt-get -y install sshpass \ ;fi +########################################################################### +# YAML: extension for PHP-CLI +########################################################################### + +USER root + +ARG INSTALL_YAML=false + +RUN if [ ${INSTALL_YAML} = true ]; then \ + apt-get install libyaml-dev -y ; \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + pecl install -a yaml-1.3.2; \ + else \ + pecl install yaml; \ + fi && \ + echo "extension=yaml.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini && \ + ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/35-yaml.ini \ +;fi + ########################################################################### # FFMpeg: ########################################################################### From c3620e95c8c6174f07c593e7fee3c7a6b2bdc1d7 Mon Sep 17 00:00:00 2001 From: StefanT123 Date: Wed, 13 Nov 2019 23:22:41 +0100 Subject: [PATCH 36/96] Volumes are created on every docker start (#2247) * Added graylog to the list of softwares. * Added persistent volumes for docker-in-docker and graylog. Added volume for mongo configdb. These services were making volumes on every start, so we might end up with many unnecessary volumes. With this pull request this issue is resolved. --- docker-compose.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d2152543..4f32e05b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,10 @@ volumes: driver: ${VOLUMES_DRIVER} cassandra: driver: ${VOLUMES_DRIVER} + graylog: + driver: ${VOLUMES_DRIVER} + dind: + driver: ${VOLUMES_DRIVER} services: @@ -503,6 +507,7 @@ services: - "${MONGODB_PORT}:27017" volumes: - ${DATA_PATH_HOST}/mongo:/data/db + - ${DATA_PATH_HOST}/mongo_config:/data/configdb networks: - backend @@ -936,9 +941,9 @@ services: - ${GRAYLOG_GELF_TCP_PORT}:12201 # GELF UDP - ${GRAYLOG_GELF_UDP_PORT}:12201/udp - user: root + user: graylog volumes: - - ./graylog/config:/usr/share/graylog/data/config + - ${DATA_PATH_HOST}/graylog:/usr/share/graylog/data networks: - backend @@ -1218,6 +1223,7 @@ services: privileged: true volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} + - ${DATA_PATH_HOST}/dind:/var/lib/docker expose: - 2375 networks: From 07c019b672bcac8d6d6fffb13f70512e4247c7ba Mon Sep 17 00:00:00 2001 From: Joe Sweeney Date: Wed, 13 Nov 2019 22:10:41 -0700 Subject: [PATCH 37/96] Fix confluence / postgres init --- postgres/docker-entrypoint-initdb.d/init_confluence_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh b/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh index ce5e9f72..aa744a1b 100644 --- a/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh +++ b/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh @@ -33,7 +33,7 @@ # EOSQL # ### default database and user for confluence ############################################## -if [ "$POSTGRES_CONFLUENCE_INIT" == 'true' ]; then +if [ "$CONFLUENCE_POSTGRES_INIT" == 'true' ]; then psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE USER $POSTGRES_CONFLUENCE_USER WITH PASSWORD '$POSTGRES_CONFLUENCE_PASSWORD'; CREATE DATABASE $POSTGRES_CONFLUENCE_DB; @@ -41,4 +41,4 @@ if [ "$POSTGRES_CONFLUENCE_INIT" == 'true' ]; then ALTER ROLE $POSTGRES_CONFLUENCE_USER CREATEROLE SUPERUSER; EOSQL echo -fi \ No newline at end of file +fi From d3e505cd73a9ed44373b0efdb69aa15a096f687a Mon Sep 17 00:00:00 2001 From: Lan Phan Date: Thu, 14 Nov 2019 22:34:23 +0700 Subject: [PATCH 38/96] remove duplicated laravel installer code --- workspace/Dockerfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 58bd4633..4bef4dfc 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -777,13 +777,6 @@ RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \ composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \ ;fi -ARG INSTALL_LARAVEL_INSTALLER=false - -RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \ - # Install the Laravel Installer - composer global require "laravel/installer" \ -;fi - ########################################################################### # Deployer: ########################################################################### From 440002f0fc861ffad21ea6b4fbce12becc11d376 Mon Sep 17 00:00:00 2001 From: bkarstaedt Date: Fri, 15 Nov 2019 09:52:48 +0100 Subject: [PATCH 39/96] Update to Kibana 7.1.1 When spinning up the stack via `docker-compose -d apache2 elasticsearch kibana` Kibana won't work currently and displays "kibana is not ready yet". `docker-compose logs kibana` the message: ``` {"type":"log","@timestamp":"2019-11-14T15:46:37Z","tags":["status","plugin:reporting@6.6.0","error"],"pid":1,"state":"red","message":"Status changed from uninitialized to red - This version of Kibana requires Elasticsearch v6.6.0 on all nodes. I found the following incompatible nodes in your cluster: v7.1.1 @ 172.26.0.3:9200 (172.26.0.3)","prevState":"uninitialized","prevMsg":"uninitialized"} ``` I update the version to align with elasticsearchs' version which works fine on my machine. --- kibana/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kibana/Dockerfile b/kibana/Dockerfile index badfd80a..b831d6d0 100644 --- a/kibana/Dockerfile +++ b/kibana/Dockerfile @@ -1,3 +1,3 @@ -FROM docker.elastic.co/kibana/kibana:6.6.0 +FROM docker.elastic.co/kibana/kibana:7.1.1 EXPOSE 5601 From aff7d9d615cd2aba00d9f2f1b8d03d1f643268a2 Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Mon, 18 Nov 2019 03:05:13 +0800 Subject: [PATCH 40/96] add nvm NVM_NODEJS_ORG_MIRROR --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 1 + 3 files changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4f32e05b..41a4aeae 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,6 +77,7 @@ services: - INSTALL_GEARMAN=${WORKSPACE_INSTALL_GEARMAN} - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS} - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL} + - NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY} - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} diff --git a/env-example b/env-example index a52f36ef..cdc3874b 100644 --- a/env-example +++ b/env-example @@ -84,6 +84,7 @@ DOCKER_SYNC_STRATEGY=native_osx WORKSPACE_COMPOSER_GLOBAL_INSTALL=true WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_REPO_PACKAGIST= +WORKSPACE_NVM_NODEJS_ORG_MIRROR= WORKSPACE_INSTALL_NODE=true WORKSPACE_NODE_VERSION=node WORKSPACE_NPM_REGISTRY= diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 58bd4633..28ff0a6c 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -580,6 +580,7 @@ ARG INSTALL_NPM_ANGULAR_CLI=false ARG NPM_REGISTRY ENV NPM_REGISTRY ${NPM_REGISTRY} ENV NVM_DIR /home/laradock/.nvm +ENV NVM_NODEJS_ORG_MIRROR=${NVM_NODEJS_ORG_MIRROR} RUN if [ ${INSTALL_NODE} = true ]; then \ # Install nvm (A Node Version Manager) From 461e05d677cff58b7e1727caa7ff0f2bb390a5b6 Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Mon, 18 Nov 2019 03:24:27 +0800 Subject: [PATCH 41/96] change workspace ubuntu sources.list file --- workspace/Dockerfile | 9 +++++ workspace/sources.sh | 81 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100755 workspace/sources.sh diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 28ff0a6c..f9b3ec6d 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -36,6 +36,15 @@ ENV PUID ${PUID} ARG PGID=1000 ENV PGID ${PGID} +COPY ./sources.sh /tmp/sources.sh + +RUN if [ ${CHANGE_SOURCE} = true ]; then \ + chmod +x /tmp/sources.sh && \ + # bash /tmp/sources.sh aliyun + # ./tmp/sources.sh aliyun + /bin/bash /tmp/sources.sh aliyun && \ +;fi + # always run apt update when start and after add new source list, then clean up at end. RUN set -xe; \ apt-get update -yqq && \ diff --git a/workspace/sources.sh b/workspace/sources.sh new file mode 100755 index 00000000..61da3a24 --- /dev/null +++ b/workspace/sources.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +if type "tee" 2>/dev/null && [ -n "$1" ]; then + SOURCE_PATH="/etc/apt/sources.list" + cp ${SOURCE_PATH} ${SOURCE_PATH}.bak && rm -rf ${SOURCE_PATH} + case "$1" in + "aliyun") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse +EOF +;; + "zju") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe +EOF +;; + "tsinghua") + tee ${SOURCE_PATH} <<-'EOF' +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +EOF +;; + "163") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse +EOF +;; + "ustc") + tee ${SOURCE_PATH} <<-'EOF' +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +EOF +;; + *) + echo "Please check whether there is aliyun|zju|tsinghua|163|ustc in the parameter" + exit 1;; + esac +fi \ No newline at end of file From 24361ca818ca41577d8f8de4966b36de84445002 Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Sat, 30 Nov 2019 08:51:23 +0800 Subject: [PATCH 42/96] add ubuntu sources.list --- docker-compose.yml | 3 ++ env-example | 2 ++ workspace/Dockerfile | 8 ++--- workspace/sources.sh | 81 -------------------------------------------- 4 files changed, 9 insertions(+), 85 deletions(-) delete mode 100755 workspace/sources.sh diff --git a/docker-compose.yml b/docker-compose.yml index 41a4aeae..d1fde5c7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -133,6 +133,8 @@ services: - http_proxy - https_proxy - no_proxy + - CHANGE_SOURCE=${CHANGE_SOURCE} + - UBUNTU_SOURCE=${UBUNTU_SOURCE} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ./php-worker/supervisord.d:/etc/supervisord.d @@ -156,6 +158,7 @@ services: context: ./php-fpm args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - UBUNTU_SOURCE=${UBUNTU_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} diff --git a/env-example b/env-example index cdc3874b..aee4d62d 100644 --- a/env-example +++ b/env-example @@ -69,6 +69,8 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1 # If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true CHANGE_SOURCE=false +# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file. +UBUNTU_SOURCE=aliyun ### Docker Sync ########################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index d38bb167..a997e080 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -36,13 +36,13 @@ ENV PUID ${PUID} ARG PGID=1000 ENV PGID ${PGID} +ARG CHANGE_SOURCE=false +ARG UBUNTU_SOURCE COPY ./sources.sh /tmp/sources.sh RUN if [ ${CHANGE_SOURCE} = true ]; then \ - chmod +x /tmp/sources.sh && \ - # bash /tmp/sources.sh aliyun - # ./tmp/sources.sh aliyun - /bin/bash /tmp/sources.sh aliyun && \ + /bin/sh -c /tmp/sources.sh ${UBUNTU_SOURCE} && \ + rm -rf /tmp/sources.sh \ ;fi # always run apt update when start and after add new source list, then clean up at end. diff --git a/workspace/sources.sh b/workspace/sources.sh deleted file mode 100755 index 61da3a24..00000000 --- a/workspace/sources.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash - -if type "tee" 2>/dev/null && [ -n "$1" ]; then - SOURCE_PATH="/etc/apt/sources.list" - cp ${SOURCE_PATH} ${SOURCE_PATH}.bak && rm -rf ${SOURCE_PATH} - case "$1" in - "aliyun") - tee ${SOURCE_PATH} <<-'EOF' -deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse -deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse -deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse -deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse -deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse -deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse -deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse -deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse -deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse -deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse -EOF -;; - "zju") - tee ${SOURCE_PATH} <<-'EOF' -deb http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe -deb http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe -deb http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe -deb http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe -deb http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe -deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe -deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe -deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe -deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe -deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe -EOF -;; - "tsinghua") - tee ${SOURCE_PATH} <<-'EOF' -deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse -deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse -deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse -deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse -deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse -deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse -deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse -deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse -deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse -deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse -EOF -;; - "163") - tee ${SOURCE_PATH} <<-'EOF' -deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse -deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse -deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse -deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse -deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse -deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse -deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse -deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse -deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse -deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse -EOF -;; - "ustc") - tee ${SOURCE_PATH} <<-'EOF' -deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse -deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse -deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse -deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse -deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse -deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse -deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse -deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse -deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse -deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse -EOF -;; - *) - echo "Please check whether there is aliyun|zju|tsinghua|163|ustc in the parameter" - exit 1;; - esac -fi \ No newline at end of file From c64be9969fb957f95c55e4e83c995660fcaf7a0b Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Sat, 30 Nov 2019 08:54:29 +0800 Subject: [PATCH 43/96] delete php-fpm args UBUNTU_SOURCE --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index d1fde5c7..1e61eb4c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -158,7 +158,6 @@ services: context: ./php-fpm args: - CHANGE_SOURCE=${CHANGE_SOURCE} - - UBUNTU_SOURCE=${UBUNTU_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} From fe2631649cf23e18894101c6548d76f5cb025ee6 Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Sat, 30 Nov 2019 09:06:09 +0800 Subject: [PATCH 44/96] add sources.sh for workspace --- workspace/sources.sh | 83 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 workspace/sources.sh diff --git a/workspace/sources.sh b/workspace/sources.sh new file mode 100755 index 00000000..eef06706 --- /dev/null +++ b/workspace/sources.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +set -xe; + +if type "tee" 2>/dev/null && [ -n "${UBUNTU_SOURCE}" ]; then + SOURCE_PATH="/etc/apt/sources.list" + cp ${SOURCE_PATH} ${SOURCE_PATH}.bak && rm -rf ${SOURCE_PATH} + case "${UBUNTU_SOURCE}" in + "aliyun") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse +EOF +;; + "zju") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe +deb http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe +deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe +EOF +;; + "tsinghua") + tee ${SOURCE_PATH} <<-'EOF' +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +EOF +;; + "163") + tee ${SOURCE_PATH} <<-'EOF' +deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse +EOF +;; + "ustc") + tee ${SOURCE_PATH} <<-'EOF' +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse +deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse +EOF +;; + *) + echo "Please check whether there is aliyun|zju|tsinghua|163|ustc in the parameter" + exit 1;; + esac +fi \ No newline at end of file From 919cfc0c87c07725756c848a81bbe615de98b312 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Sat, 30 Nov 2019 18:26:16 +0800 Subject: [PATCH 45/96] increase update filesize to 2G #2344 --- phpmyadmin/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/phpmyadmin/Dockerfile b/phpmyadmin/Dockerfile index 75812d9b..ded59baf 100644 --- a/phpmyadmin/Dockerfile +++ b/phpmyadmin/Dockerfile @@ -5,5 +5,10 @@ LABEL maintainer="Bo-Yi Wu " # Add volume for sessions to allow session persistence VOLUME /sessions +RUN echo '' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \ + && echo '[PHP]' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \ + && echo 'post_max_size = 2G' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \ + && echo 'upload_max_filesize = 2G' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini + # We expose phpMyAdmin on port 80 EXPOSE 80 From 497878557c9ed4663237e902ed12d63888638ef5 Mon Sep 17 00:00:00 2001 From: alone <794000949@qq.com> Date: Sun, 1 Dec 2019 00:02:59 +0800 Subject: [PATCH 46/96] Remove the sources.sh Ubuntu_Source parameter --- workspace/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index a997e080..f4514578 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -41,7 +41,7 @@ ARG UBUNTU_SOURCE COPY ./sources.sh /tmp/sources.sh RUN if [ ${CHANGE_SOURCE} = true ]; then \ - /bin/sh -c /tmp/sources.sh ${UBUNTU_SOURCE} && \ + /bin/sh -c /tmp/sources.sh && \ rm -rf /tmp/sources.sh \ ;fi From f5f1f458586a96521e21591f87c14f1000021a3e Mon Sep 17 00:00:00 2001 From: Vladyslav Startsev Date: Tue, 3 Dec 2019 12:53:42 +0200 Subject: [PATCH 47/96] added cachetool to invalidate shared php cache (APCu, OPcache) without reloading PHP-FPM --- docker-compose.yml | 1 + env-example | 1 + php-fpm/Dockerfile | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4f32e05b..8e84141a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -192,6 +192,7 @@ services: - INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME} - INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE} - INSTALL_APCU=${PHP_FPM_INSTALL_APCU} + - INSTALL_CACHETOOL=${PHP_FPM_INSTALL_CACHETOOL} - INSTALL_YAML=${PHP_FPM_INSTALL_YAML} - INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA} - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES} diff --git a/env-example b/env-example index a52f36ef..f3d51ce6 100644 --- a/env-example +++ b/env-example @@ -190,6 +190,7 @@ PHP_FPM_INSTALL_IONCUBE=false PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_FAKETIME=-0 PHP_FPM_INSTALL_APCU=false +PHP_FPM_INSTALL_CACHETOOL=false PHP_FPM_INSTALL_YAML=false PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false PHP_FPM_INSTALL_MYSQL_CLIENT=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 20474893..01f025b7 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -767,6 +767,22 @@ RUN if [ ${INSTALL_MAILPARSE} = true ]; then \ && docker-php-ext-enable mailparse \ ;fi +########################################################################### +# CacheTool: +########################################################################### + +ARG INSTALL_CACHETOOL=false + +RUN if [ ${INSTALL_CACHETOOL} = true ]; then \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") -ge 1 ]; then \ + curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar; \ + else \ + curl http://gordalina.github.io/cachetool/downloads/cachetool-3.2.1.phar -o cachetool.phar; \ + fi && \ + chmod +x cachetool.phar && \ + mv cachetool.phar /usr/local/bin/cachetool \ +;fi + ########################################################################### # Check PHP version: ########################################################################### From abdcfa10029a1c7235ddcc3ee6f86dd534df08d9 Mon Sep 17 00:00:00 2001 From: Bagus Erlang Date: Wed, 4 Dec 2019 15:38:52 +0800 Subject: [PATCH 48/96] Update index.md --- 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 a8bdcb86..e0e88282 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -536,7 +536,7 @@ Note: Should add `--user=laradock` (example `docker-compose exec --user=laradock php artisan ``` ```bash -Composer update +composer update ``` ```bash phpunit From 754e61d15f196ef7e016f3801d44b71686531ee2 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Wed, 4 Dec 2019 11:36:47 +0000 Subject: [PATCH 49/96] Add key to install ffmpeg in horizon --- env-example | 1 + 1 file changed, 1 insertion(+) diff --git a/env-example b/env-example index a52f36ef..120c36eb 100644 --- a/env-example +++ b/env-example @@ -237,6 +237,7 @@ NGINX_SSL_PATH=./nginx/ssl/ LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true +LARAVEL_HORIZON_INSTALL_FFMPEG=false ### APACHE ################################################ From c11c1fd69d902553d0360504798e87a92b065e28 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Wed, 4 Dec 2019 11:38:36 +0000 Subject: [PATCH 50/96] Add ffmpeg directive to Dockerfile --- laravel-horizon/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 5ce1d8ef..3c0509e7 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -60,6 +60,12 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ && docker-php-ext-enable redis \ ;fi +ARG INSTALL_FFMPEG=false +RUN if [ ${INSTALL_FFMPEG} = true ]; then \ + # Add ffmpeg to horizon + apk add ffmpeg \ +;fi + WORKDIR /usr/src RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ git clone https://github.com/datastax/php-driver.git \ From d40abcb939a0f35161911dedb1e2d6e4880d8e93 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Wed, 4 Dec 2019 11:40:04 +0000 Subject: [PATCH 51/96] Add arg to laravel-horizon service --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4f32e05b..d3aca5a9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -271,6 +271,7 @@ services: - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} + - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d From 351f19b8fe3a9839ba0c63bfc5234f17402371c1 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 4 Dec 2019 23:02:35 +0800 Subject: [PATCH 52/96] support PHP 7.4, #2387. --- php-fpm/Dockerfile | 2 +- workspace/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 20474893..73cf44fd 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -14,7 +14,7 @@ ARG LARADOCK_PHP_VERSION -FROM laradock/php-fpm:2.5-${LARADOCK_PHP_VERSION} +FROM laradock/php-fpm:2.6.1-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4bef4dfc..0be87f8d 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -14,7 +14,7 @@ ARG LARADOCK_PHP_VERSION -FROM laradock/workspace:2.5-${LARADOCK_PHP_VERSION} +FROM laradock/workspace:2.6.1-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From 9e5ff1888e50c12437c78628b7e5d7d6d060a72f Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 5 Dec 2019 10:29:08 +0800 Subject: [PATCH 53/96] update document --- DOCUMENTATION/content/introduction/index.md | 2 +- env-example | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 0505d981..85115551 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -12,7 +12,7 @@ Supporting a variety of common services, all pre-configured to provide a full PH ## Features -- Easy switch between PHP versions: 7.3, 7.2, 7.1, 5.6... +- Easy switch between PHP versions: 7.4, 7.3, 7.2, 7.1, 5.6... - 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... diff --git a/env-example b/env-example index a52f36ef..9e25ea5b 100644 --- a/env-example +++ b/env-example @@ -37,7 +37,8 @@ COMPOSE_PROJECT_NAME=laradock ### PHP Version ########################################### -# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6 +# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). +# Accepted values: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6 PHP_VERSION=7.3 ### Phalcon Version ########################################### From 4afc747bf5fee439a6377532c2ce3d135f49d2cd Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 5 Dec 2019 10:46:24 +0800 Subject: [PATCH 54/96] Update docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 896adb59..362ebb67 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -262,6 +262,7 @@ services: - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} + - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d From 8474acdf17ce8f6397d91e48b2e472490a991d0c Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 5 Dec 2019 10:47:31 +0800 Subject: [PATCH 55/96] Update env-example --- env-example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/env-example b/env-example index 1b714796..f021aaa6 100644 --- a/env-example +++ b/env-example @@ -232,6 +232,7 @@ NGINX_SSL_PATH=./nginx/ssl/ LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true +LARAVEL_HORIZON_INSTALL_MONGO=false ### APACHE ################################################ @@ -822,4 +823,4 @@ GEARMAN_MYSQL_PASSWORD_FILE= # Database to use by Gearman (Default: Gearmand) GEARMAN_MYSQL_DB=Gearmand # Table to use by Gearman (Default: gearman_queue) -GEARMAN_MYSQL_TABLE=gearman_queue \ No newline at end of file +GEARMAN_MYSQL_TABLE=gearman_queue From b6204e5933e8a7173ce143432fe20fe8150e034a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 11:16:32 +0800 Subject: [PATCH 56/96] pref: add change source flag --- docker-compose.yml | 4 +++- laravel-horizon/Dockerfile | 10 +++++++++- php-worker/Dockerfile | 8 ++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b0b297c7..acbe2264 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -234,6 +234,7 @@ services: build: context: ./php-worker args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} @@ -267,6 +268,7 @@ services: build: context: ./laravel-horizon args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - PHP_VERSION=${PHP_VERSION} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} @@ -290,9 +292,9 @@ services: build: context: ./nginx args: + - CHANGE_SOURCE=${CHANGE_SOURCE} - PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER} - PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT} - - CHANGE_SOURCE=${CHANGE_SOURCE} - http_proxy - https_proxy - no_proxy diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 425499d6..9edbe14b 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -9,6 +9,14 @@ FROM php:${PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " +# 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 --update add wget \ curl \ git \ @@ -50,7 +58,7 @@ ARG INSTALL_CASSANDRA=false RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ apk --update add cassandra-cpp-driver \ ;fi - + # Install PhpRedis package: ARG INSTALL_PHPREDIS=false RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 9bccca0e..350c40dc 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -9,6 +9,14 @@ FROM php:${PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " +# 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 --update add wget \ curl \ git \ From 5a0c9054571ba69a6b5ba3cc777234295a6133ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 11:23:51 +0800 Subject: [PATCH 57/96] feat: change source --- docker-compose.yml | 3 --- php-fpm/xdebug.ini | 2 +- workspace/Dockerfile | 7 ++++--- workspace/ubuntu.sources.list | 15 --------------- 4 files changed, 5 insertions(+), 22 deletions(-) delete mode 100644 workspace/ubuntu.sources.list diff --git a/docker-compose.yml b/docker-compose.yml index acbe2264..d5de70b8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -216,7 +216,6 @@ services: - "9000" extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" - dns: 114.114.114.114 environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - DOCKER_HOST=tcp://docker-in-docker:2375 @@ -228,7 +227,6 @@ services: links: - docker-in-docker - ### PHP Worker ############################################ php-worker: build: @@ -379,7 +377,6 @@ services: context: ./mysql args: - MYSQL_VERSION=${MYSQL_VERSION} - command: "--innodb_use_native_aio=0" environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index 9bc6578f..8560f98b 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -6,7 +6,7 @@ xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 -xdebug.remote_enable=1 +xdebug.remote_enable=0 xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 70b5ab40..18eb306a 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -25,11 +25,12 @@ ENV DEBIAN_FRONTEND noninteractive # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. -ADD ubuntu.sources.list /etc/apt/ubuntu.sources.list ARG CHANGE_SOURCE=false RUN if [ ${CHANGE_SOURCE} = true ]; then \ - mv /etc/apt/sources.list /etc/apt/sources.list.back && \ - mv /etc/apt/ubuntu.sources.list /etc/apt/sources.list \ + # Change application source from deb.debian.org to aliyun source + 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 # Start as root diff --git a/workspace/ubuntu.sources.list b/workspace/ubuntu.sources.list deleted file mode 100644 index 6edaa130..00000000 --- a/workspace/ubuntu.sources.list +++ /dev/null @@ -1,15 +0,0 @@ -deb http://mirrors.aliyun.com/ubuntu/ xenial main -deb-src http://mirrors.aliyun.com/ubuntu/ xenial main - -deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main -deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main - -deb http://mirrors.aliyun.com/ubuntu/ xenial universe -deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe -deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe -deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe - -deb http://mirrors.aliyun.com/ubuntu/ xenial-security main -deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main -deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe -deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe \ No newline at end of file From dab5ff1ac6a41818a2d3df2ea1e0af4c470b8efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 11:26:01 +0800 Subject: [PATCH 58/96] feat: restore mysql/my.cnf --- mysql/my.cnf | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/mysql/my.cnf b/mysql/my.cnf index a7facd5c..e03ccf88 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -6,11 +6,5 @@ [mysql] [mysqld] -sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" -character-set-server=utf8mb4 -skip-name-resolve -symbolic-links=0 -explicit_defaults_for_timestamp -default_authentication_plugin=mysql_native_password -#skip-grant-tables=1 - +sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" +character-set-server=utf8 From 2c9563d2cdf35b441a1e75f159ca3e18d928b57b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 11:27:44 +0800 Subject: [PATCH 59/96] feat: restore some file --- php-fpm/Dockerfile | 2 +- workspace/xdebug.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 789bbadc..73e55a96 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -590,7 +590,7 @@ USER root ARG INSTALL_IMAGEMAGICK=false RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ - apt-get install --fix-missing -y libmagickwand-dev imagemagick && \ + apt-get install -y libmagickwand-dev imagemagick && \ pecl install imagick && \ docker-php-ext-enable imagick \ ;fi diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index 9bc6578f..8560f98b 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -6,7 +6,7 @@ xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 -xdebug.remote_enable=1 +xdebug.remote_enable=0 xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" From c84db7d4d7cdab1639fa6944fda2b0b8609a3c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 11:48:27 +0800 Subject: [PATCH 60/96] fix: fix the extension cannot install problem. --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 73e55a96..f1e66c71 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -590,7 +590,7 @@ USER root ARG INSTALL_IMAGEMAGICK=false RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ - apt-get install -y libmagickwand-dev imagemagick && \ + apt-get install -y --fix-missing libmagickwand-dev imagemagick && \ pecl install imagick && \ docker-php-ext-enable imagick \ ;fi From 9bdeaa3682976d61f3a66f50b5fa4e6e19d5f80f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 13:21:10 +0800 Subject: [PATCH 61/96] fix: fix cannot install imagemagick extension problem --- php-fpm/Dockerfile | 6 +++--- workspace/Dockerfile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index f1e66c71..3e4bac25 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.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 \ + 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 \ ;fi # always run apt update when start and after add new source list, then clean up at end. diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 18eb306a..ca34a561 100644 --- a/workspace/Dockerfile +++ b/workspace/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.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 \ + 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 \ ;fi # Start as root From 838156b1bdede7519e79a85fd077305f3b9d16fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Thu, 5 Dec 2019 13:28:42 +0800 Subject: [PATCH 62/96] refactor: remove some option --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 3e4bac25..8dfa9f15 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -590,7 +590,7 @@ USER root ARG INSTALL_IMAGEMAGICK=false RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ - apt-get install -y --fix-missing libmagickwand-dev imagemagick && \ + apt-get install -y libmagickwand-dev imagemagick && \ pecl install imagick && \ docker-php-ext-enable imagick \ ;fi From ed6be69cc1f6e02e234037f4eabe3000bb6a98a1 Mon Sep 17 00:00:00 2001 From: Bagus Erlang Date: Fri, 6 Dec 2019 03:50:41 +0800 Subject: [PATCH 63/96] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09c7c489..53e29e0a 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Laradock exists thanks to all the people who contribute. ### Code Contributors - + ### Financial Contributors From 84db9b079d9c28c2cc6a3456b7d2000b8f500008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Fri, 6 Dec 2019 09:30:11 +0800 Subject: [PATCH 64/96] =?UTF-8?q?refactor:=20=E8=BF=98=E5=8E=9F=20xdebug.i?= =?UTF-8?q?ni?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- php-fpm/xdebug.ini | 6 +----- workspace/xdebug.ini | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index 8560f98b..c3f32ece 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -7,17 +7,13 @@ xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 xdebug.remote_enable=0 -xdebug.cli_color=1 +xdebug.cli_color=0 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req -xdebug.auto_trace = 1 -xdebug.collect_params = 1 -xdebug.collect_return = 1 - xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index 8560f98b..c3f32ece 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -7,17 +7,13 @@ xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 xdebug.remote_enable=0 -xdebug.cli_color=1 +xdebug.cli_color=0 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req -xdebug.auto_trace = 1 -xdebug.collect_params = 1 -xdebug.collect_return = 1 - xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 From f3e3bbe2b75993e309cac4454cb542de16db0716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9F=E5=8B=87?= Date: Fri, 6 Dec 2019 09:35:10 +0800 Subject: [PATCH 65/96] =?UTF-8?q?refactor:=20=E8=BF=98=E5=8E=9F=20nginx.co?= =?UTF-8?q?nf=20=E6=96=87=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 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 9cea74dc6ffed71a28dc2b54252aba0c834a514b Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 6 Dec 2019 19:17:22 +0800 Subject: [PATCH 66/96] update travis ci config (#2409) --- .travis.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d92a02b..821b0f62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,20 +12,23 @@ env: - PHP_VERSION=7.1 BUILD_SERVICE=workspace - PHP_VERSION=7.2 BUILD_SERVICE=workspace - PHP_VERSION=7.3 BUILD_SERVICE=workspace + - PHP_VERSION=7.4 BUILD_SERVICE=workspace - PHP_VERSION=5.6 BUILD_SERVICE=php-fpm - PHP_VERSION=7.0 BUILD_SERVICE=php-fpm - PHP_VERSION=7.1 BUILD_SERVICE=php-fpm - PHP_VERSION=7.2 BUILD_SERVICE=php-fpm - PHP_VERSION=7.3 BUILD_SERVICE=php-fpm + - PHP_VERSION=7.4 BUILD_SERVICE=php-fpm - PHP_VERSION=hhvm BUILD_SERVICE=hhvm # - PHP_VERSION=5.6 BUILD_SERVICE=php-worker - - PHP_VERSION=7.0 BUILD_SERVICE=php-worker - - PHP_VERSION=7.1 BUILD_SERVICE=php-worker - - PHP_VERSION=7.2 BUILD_SERVICE=php-worker - - PHP_VERSION=7.3 BUILD_SERVICE=php-worker + - PHP_VERSION=7.0 BUILD_SERVICE="php-worker laravel-horizon" + - PHP_VERSION=7.1 BUILD_SERVICE="php-worker laravel-horizon" + - PHP_VERSION=7.2 BUILD_SERVICE="php-worker laravel-horizon" + - PHP_VERSION=7.3 BUILD_SERVICE="php-worker laravel-horizon" + - PHP_VERSION=7.4 BUILD_SERVICE="php-worker laravel-horizon" - PHP_VERSION=NA BUILD_SERVICE=solr - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" From 42c580af1f4e6b128cbb4df804d8b4fceed348bf Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 6 Dec 2019 20:23:28 +0800 Subject: [PATCH 67/96] fix CHANGE_SOURCE duplicate (#2410) --- docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index bb8d17ce..7c469df4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,6 +60,7 @@ services: context: ./workspace args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - UBUNTU_SOURCE=${UBUNTU_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} @@ -136,8 +137,6 @@ services: - http_proxy - https_proxy - no_proxy - - CHANGE_SOURCE=${CHANGE_SOURCE} - - UBUNTU_SOURCE=${UBUNTU_SOURCE} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ./php-worker/supervisord.d:/etc/supervisord.d From 3889363443104ef7ef7fe89f96fde09e89164ae5 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 6 Dec 2019 20:43:59 +0800 Subject: [PATCH 68/96] fix build arg [NVM_NODEJS_ORG_MIRROR] not consumed warning (#2411) --- workspace/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 02fe4bd3..e83c434f 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -614,7 +614,8 @@ ARG INSTALL_NPM_ANGULAR_CLI=false ARG NPM_REGISTRY ENV NPM_REGISTRY ${NPM_REGISTRY} ENV NVM_DIR /home/laradock/.nvm -ENV NVM_NODEJS_ORG_MIRROR=${NVM_NODEJS_ORG_MIRROR} +ARG NVM_NODEJS_ORG_MIRROR +ENV NVM_NODEJS_ORG_MIRROR ${NVM_NODEJS_ORG_MIRROR} RUN if [ ${INSTALL_NODE} = true ]; then \ # Install nvm (A Node Version Manager) From bc6ba25790e05a1691a8c6547941a47e1151b8be Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 6 Dec 2019 21:04:03 +0800 Subject: [PATCH 69/96] update travis ci config (#2412) --- .travis.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 821b0f62..4b681054 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,11 +24,17 @@ env: - PHP_VERSION=hhvm BUILD_SERVICE=hhvm # - PHP_VERSION=5.6 BUILD_SERVICE=php-worker - - PHP_VERSION=7.0 BUILD_SERVICE="php-worker laravel-horizon" - - PHP_VERSION=7.1 BUILD_SERVICE="php-worker laravel-horizon" - - PHP_VERSION=7.2 BUILD_SERVICE="php-worker laravel-horizon" - - PHP_VERSION=7.3 BUILD_SERVICE="php-worker laravel-horizon" - - PHP_VERSION=7.4 BUILD_SERVICE="php-worker laravel-horizon" + - PHP_VERSION=7.0 BUILD_SERVICE=php-worker + - PHP_VERSION=7.1 BUILD_SERVICE=php-worker + - PHP_VERSION=7.2 BUILD_SERVICE=php-worker + - PHP_VERSION=7.3 BUILD_SERVICE=php-worker + - PHP_VERSION=7.4 BUILD_SERVICE=php-worker + + - PHP_VERSION=7.0 BUILD_SERVICE=laravel-horizon + - PHP_VERSION=7.1 BUILD_SERVICE=laravel-horizon + - PHP_VERSION=7.2 BUILD_SERVICE=laravel-horizon + - PHP_VERSION=7.3 BUILD_SERVICE=laravel-horizon + - PHP_VERSION=7.4 BUILD_SERVICE=laravel-horizon - PHP_VERSION=NA BUILD_SERVICE=solr - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" From 88d06bb8387111da7c5e5f4e180663237890fa0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Fri, 6 Dec 2019 13:50:32 -0300 Subject: [PATCH 70/96] Complete sample configuration for VSCode Remote Development on Containers --- .devcontainer/devcontainer.example.json | 12 ++++++++++-- .devcontainer/docker-compose.extend-example.yml | 6 ++++++ .gitignore | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 .devcontainer/docker-compose.extend-example.yml diff --git a/.devcontainer/devcontainer.example.json b/.devcontainer/devcontainer.example.json index 4be22f7f..57e8f8d0 100644 --- a/.devcontainer/devcontainer.example.json +++ b/.devcontainer/devcontainer.example.json @@ -1,7 +1,15 @@ { "name": "Laradock", - "dockerComposeFile": ["../docker-compose.yml"], - "runServices": ["nginx", "postgres", "pgadmin"], + "dockerComposeFile": [ + "../docker-compose.yml", + "docker-compose.extend.yml" + ], + "remoteUser": "laradock", + "runServices": [ + "nginx", + "postgres", + "pgadmin" + ], "service": "workspace", "workspaceFolder": "/var/www", "shutdownAction": "stopCompose", diff --git a/.devcontainer/docker-compose.extend-example.yml b/.devcontainer/docker-compose.extend-example.yml new file mode 100644 index 00000000..fd5da259 --- /dev/null +++ b/.devcontainer/docker-compose.extend-example.yml @@ -0,0 +1,6 @@ +version: '3' +services: + workspace: + volumes: + - ~/.gitconfig:/home/laradock/.gitconfig + - ~/.ssh:/home/laradock/.ssh:ro diff --git a/.gitignore b/.gitignore index 06eccb52..e215d357 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,6 @@ /.devcontainer/* !/.devcontainer/devcontainer.example.json +!/.devcontainer/docker-compose.extend-example.yml .DS_Store From 5a25b786f38f1c329cca6b6e544ffc2c44aa2105 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Mon, 9 Dec 2019 18:40:52 +0800 Subject: [PATCH 71/96] add php7.4.ini (#2420) --- php-fpm/php7.4.ini | 1918 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1918 insertions(+) create mode 100644 php-fpm/php7.4.ini diff --git a/php-fpm/php7.4.ini b/php-fpm/php7.4.ini new file mode 100644 index 00000000..9bf5f6ce --- /dev/null +++ b/php-fpm/php7.4.ini @@ -0,0 +1,1918 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 600 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 120 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 256M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example, on Windows: +; +; extension=mysqli.dll +; +; ... or under UNIX: +; +; extension=mysqli.so +; +; ... or with a path: +; +; extension=/path/to/extension/mysqli.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. +; +; Windows Extensions +; Note that ODBC support is built in, so no dll is needed for it. +; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=php_bz2.dll +;extension=php_curl.dll +;extension=php_fileinfo.dll +;extension=php_ftp.dll +;extension=php_gd2.dll +;extension=php_gettext.dll +;extension=php_gmp.dll +;extension=php_intl.dll +;extension=php_imap.dll +;extension=php_interbase.dll +;extension=php_ldap.dll +;extension=php_mbstring.dll +;extension=php_exif.dll ; Must be after mbstring as it depends on it +;extension=php_mysqli.dll +;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_openssl.dll +;extension=php_pdo_firebird.dll +;extension=php_pdo_mysql.dll +;extension=php_pdo_oci.dll +;extension=php_pdo_odbc.dll +;extension=php_pdo_pgsql.dll +;extension=php_pdo_sqlite.dll +;extension=php_pgsql.dll +;extension=php_shmop.dll + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=php_snmp.dll + +;extension=php_soap.dll +;extension=php_sockets.dll +;extension=php_sqlite3.dll +;extension=php_tidy.dll +;extension=php_xmlrpc.dll +;extension=php_xsl.dll + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +;
is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=1 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +; Depending on the used Memory Manager this may cause some incompatibilities. +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: From 3ba74dd1c31338b1beb313df5eb08713f2032a4b Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:07:58 -0300 Subject: [PATCH 72/96] Update pid for sql MSSQL --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 7c469df4..c544f2ec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -419,6 +419,7 @@ services: build: context: ./mssql environment: + - MSSQL_PID=Express - MSSQL_DATABASE=${MSSQL_DATABASE} - SA_PASSWORD=${MSSQL_PASSWORD} - ACCEPT_EULA=Y From 77c8429ea13eea280fcc59092eb892ff2d4a4855 Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:10:32 -0300 Subject: [PATCH 73/96] Update dockerfile add new version from mssql --- mssql/Dockerfile | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/mssql/Dockerfile b/mssql/Dockerfile index 2d9e5ac9..c777500e 100644 --- a/mssql/Dockerfile +++ b/mssql/Dockerfile @@ -1,17 +1,6 @@ -FROM microsoft/mssql-server-linux - -LABEL maintainer="Mahmoud Zalt " - -# Create config directory -# an set it as WORKDIR -RUN mkdir -p /usr/src/app -WORKDIR /usr/src/app - -# Bundle app source -COPY . /usr/src/app - -RUN chmod +x /usr/src/app/create_table.sh +FROM mcr.microsoft.com/mssql/server:2017-latest-ubuntu +ENV MSSQL_PID=Express ENV MSSQL_DATABASE=$MSSQL_DATABASE ENV ACCEPT_EULA=Y ENV SA_PASSWORD=$MSSQL_PASSWORD @@ -19,5 +8,3 @@ ENV SA_PASSWORD=$MSSQL_PASSWORD VOLUME /var/opt/mssql EXPOSE 1433 - -CMD /bin/bash ./entrypoint.sh From 0edeb8fb71ccdc898aeb45a8f3a862bced721621 Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:11:11 -0300 Subject: [PATCH 74/96] remove this file --- mssql/create_table.sh | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 mssql/create_table.sh diff --git a/mssql/create_table.sh b/mssql/create_table.sh deleted file mode 100644 index 9fe5214c..00000000 --- a/mssql/create_table.sh +++ /dev/null @@ -1,5 +0,0 @@ -#wait for the SQL Server to come up -sleep 45 - -#run the setup script to create the DB and the schema in the DB -/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -i setup.sql \ No newline at end of file From 44f1d456b2857b62a6272d7dff03b4fa9d4845f2 Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:11:32 -0300 Subject: [PATCH 75/96] remove this file --- mssql/entrypoint.sh | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 mssql/entrypoint.sh diff --git a/mssql/entrypoint.sh b/mssql/entrypoint.sh deleted file mode 100644 index 062293b8..00000000 --- a/mssql/entrypoint.sh +++ /dev/null @@ -1,2 +0,0 @@ -#start SQL Server, start the script to create the DB and import the data, start the app -/opt/mssql/bin/sqlservr & /usr/src/app/create_table.sh & tail -f /dev/null From a010010d974fff94203d6c2dc3727134bc68e05b Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:11:54 -0300 Subject: [PATCH 76/96] remove this file use master --- mssql/setup.sql | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 mssql/setup.sql diff --git a/mssql/setup.sql b/mssql/setup.sql deleted file mode 100644 index f453c778..00000000 --- a/mssql/setup.sql +++ /dev/null @@ -1,4 +0,0 @@ -CREATE DATABASE $(MSSQL_DATABASE); -GO -USE $(MSSQL_DATABASE); -GO \ No newline at end of file From 0da0f302d3fad679ad8c593376d7d9c8d1808731 Mon Sep 17 00:00:00 2001 From: Rafael Meira Date: Tue, 10 Dec 2019 11:12:53 -0300 Subject: [PATCH 77/96] Update env-example --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index d5388433..656233e2 100644 --- a/env-example +++ b/env-example @@ -291,7 +291,7 @@ PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d ### MSSQL ################################################# -MSSQL_DATABASE=homestead +MSSQL_DATABASE=master MSSQL_PASSWORD=yourStrong(!)Password MSSQL_PORT=1433 From a1d7d46573ad5b87c098a1e8181e878236a891f7 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 11 Dec 2019 14:28:14 +0800 Subject: [PATCH 78/96] chore(php-fpm): update the default locale setting. Signed-off-by: Bo-Yi Wu --- DOCUMENTATION/content/documentation/index.md | 7 +++++++ docker-compose.yml | 1 + env-example | 1 + php-fpm/Dockerfile | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 399db68e..1e8f6c5b 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1500,6 +1500,13 @@ To add locales to the container: 4 - Check enabled locales with `docker-compose exec php-fpm locale -a` +Update the locale setting, default is `POSIX` + +1 - Open the `.env` file and set `PHP_FPM_DEFAULT_LOCALE` to `en_US.UTF8` or other locale you want. + +2 - Re-build your PHP-FPM Container `docker-compose build php-fpm`. + +3 - Check the default locale with `docker-compose exec php-fpm locale`
diff --git a/docker-compose.yml b/docker-compose.yml index 7c469df4..fc73a321 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -212,6 +212,7 @@ services: - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} + - LOCALE=${PHP_FPM_DEFAULT_LOCALE} - http_proxy - https_proxy - no_proxy diff --git a/env-example b/env-example index d5388433..e6ee7989 100644 --- a/env-example +++ b/env-example @@ -206,6 +206,7 @@ PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" +PHP_FPM_DEFAULT_LOCALE=POSIX PHP_FPM_PUID=1000 PHP_FPM_PGID=1000 diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 042341f3..3333114f 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -835,6 +835,10 @@ RUN if [ ${INSTALL_FAKETIME} = true ]; then \ echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \ ;fi +# Configure locale. +ARG LOCALE=POSIX +ENV LC_ALL ${LOCALE} + WORKDIR /var/www CMD ["php-fpm"] From be48366190fe1de2f3d0b13097ad2e7383500923 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 11 Dec 2019 21:18:57 +0800 Subject: [PATCH 79/96] php-fpm base image use 2.6.2 --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 042341f3..43fd1afd 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -14,7 +14,7 @@ ARG LARADOCK_PHP_VERSION -FROM laradock/php-fpm:2.6.1-${LARADOCK_PHP_VERSION} +FROM laradock/php-fpm:2.6.2-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From d847c1a8c54501b97002a6f097a2edfa383b6e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Wed, 11 Dec 2019 15:18:34 -0300 Subject: [PATCH 80/96] Drop unneeded settings for devcontainer.json (VSCode already handles them automatically). --- .devcontainer/devcontainer.example.json | 5 +---- .devcontainer/docker-compose.extend-example.yml | 6 ------ 2 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 .devcontainer/docker-compose.extend-example.yml diff --git a/.devcontainer/devcontainer.example.json b/.devcontainer/devcontainer.example.json index 57e8f8d0..f6399cec 100644 --- a/.devcontainer/devcontainer.example.json +++ b/.devcontainer/devcontainer.example.json @@ -1,9 +1,6 @@ { "name": "Laradock", - "dockerComposeFile": [ - "../docker-compose.yml", - "docker-compose.extend.yml" - ], + "dockerComposeFile": "../docker-compose.yml", "remoteUser": "laradock", "runServices": [ "nginx", diff --git a/.devcontainer/docker-compose.extend-example.yml b/.devcontainer/docker-compose.extend-example.yml deleted file mode 100644 index fd5da259..00000000 --- a/.devcontainer/docker-compose.extend-example.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - workspace: - volumes: - - ~/.gitconfig:/home/laradock/.gitconfig - - ~/.ssh:/home/laradock/.ssh:ro From 30c91c7f9409c25ccb14253a6d61067df33e650e Mon Sep 17 00:00:00 2001 From: kideny Date: Sun, 15 Dec 2019 23:21:51 +0800 Subject: [PATCH 81/96] fixed --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index d5388433..574e7bd6 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.1 +PHALCON_VERSION=3.4.5 ### PHP Interpreter ####################################### From 964494255d183169037a1a02470cf489948c332e Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Sat, 21 Dec 2019 22:16:24 +0800 Subject: [PATCH 82/96] fix oniguruma require #2407 #2408 --- laravel-horizon/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 9edbe14b..4e9d3ef3 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -29,6 +29,7 @@ RUN apk --update add wget \ cyrus-sasl-dev \ libgsasl-dev \ supervisor \ + oniguruma-dev \ procps RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl From 67e9a517f33f014252de9d2f9e8255cd2b2a1a2b Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Sat, 21 Dec 2019 22:26:03 +0800 Subject: [PATCH 83/96] VSCode files.associations for Dockerfile-* (#2438) --- .vscode/settings.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6d8e9ee2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "Dockerfile-*": "dockerfile" + }, +} From b74c54f804cd1064ffaec0031d630903342b5ab8 Mon Sep 17 00:00:00 2001 From: Sohaib Ilyas Date: Tue, 24 Dec 2019 02:45:19 +0500 Subject: [PATCH 84/96] updated gearman installation code in php-worker service --- php-worker/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 350c40dc..e72f51a8 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -101,7 +101,11 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ ARG INSTALL_GEARMAN=false RUN if [ ${INSTALL_GEARMAN} = true ]; then \ - docker-php-ext-install gearman \ + sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/main" /etc/apk/repositories && \ + sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/community" /etc/apk/repositories && \ + sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/testing" /etc/apk/repositories && \ + apk --update add php7-gearman && \ + sh -c 'echo "extension=/usr/lib/php7/modules/gearman.so" > /usr/local/etc/php/conf.d/gearman.ini' \ ;fi # Install Cassandra drivers: From 716282b504ce8fba3167d0176ed108e682f19c19 Mon Sep 17 00:00:00 2001 From: Vladimir Zakotnev Date: Tue, 24 Dec 2019 14:20:54 +0300 Subject: [PATCH 85/96] Changes in env file. Some parameteres quoted --- env-example | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/env-example b/env-example index 0fa3230e..aa5f25e0 100644 --- a/env-example +++ b/env-example @@ -297,7 +297,7 @@ PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d ### MSSQL ################################################# MSSQL_DATABASE=master -MSSQL_PASSWORD=yourStrong(!)Password +MSSQL_PASSWORD="yourStrong(!)Password" MSSQL_PORT=1433 ### MARIADB ############################################### @@ -385,7 +385,7 @@ MAILDEV_SMTP_PORT=25 VARNISH_CONFIG=/etc/varnish/default.vcl VARNISH_PORT=8080 VARNISH_BACKEND_PORT=8888 -VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600 +VARNISHD_PARAMS="-p default_ttl=3600 -p default_grace=3600" ### Varnish ############################################### @@ -437,10 +437,10 @@ GRAYLOG_GELF_UDP_PORT=12201 # Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info. INSTALL_BLACKFIRE=false -BLACKFIRE_CLIENT_ID= -BLACKFIRE_CLIENT_TOKEN= -BLACKFIRE_SERVER_ID= -BLACKFIRE_SERVER_TOKEN= +BLACKFIRE_CLIENT_ID="" +BLACKFIRE_CLIENT_TOKEN="" +BLACKFIRE_SERVER_ID="" +BLACKFIRE_SERVER_TOKEN="" ### AEROSPIKE ############################################# @@ -549,7 +549,7 @@ FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml OPTIMIZERS=[] JPEGTRAN_PATH=/usr/bin/jpegtran PROGRESSIVE_JPEG=True -FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"] +FILTERS="[thumbor.filters.brightness, thumbor.filters.contrast, thumbor.filters.rgb, thumbor.filters.round_corner, thumbor.filters.quality, thumbor.filters.noise, thumbor.filters.watermark, thumbor.filters.equalize, thumbor.filters.fill, thumbor.filters.sharpen, thumbor.filters.strip_icc, thumbor.filters.frame, thumbor.filters.grayscale, thumbor.filters.rotate, thumbor.filters.format, thumbor.filters.max_bytes, thumbor.filters.convolution, thumbor.filters.blur, thumbor.filters.extract_focal, thumbor.filters.no_upscale]" RESULT_STORAGE_EXPIRATION_SECONDS=0 RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage RESULT_STORAGE_STORES_UNSAFE=False @@ -601,7 +601,7 @@ GITLAB_POSTGRES_DB=laradock_gitlab ### GITLAB-RUNNER ############################################### GITLAB_CI_SERVER_URL=http://localhost:8989 -GITLAB_RUNNER_REGISTRATION_TOKEN= +GITLAB_RUNNER_REGISTRATION_TOKEN="" GITLAB_REGISTER_NON_INTERACTIVE=true ### JUPYTERHUB ############################################### @@ -662,8 +662,8 @@ DOCKER_WEBUI_PORT=8754 ### MAILU ############################################### MAILU_VERSION=latest -MAILU_RECAPTCHA_PUBLIC_KEY= -MAILU_RECAPTCHA_PRIVATE_KEY= +MAILU_RECAPTCHA_PUBLIC_KEY="" +MAILU_RECAPTCHA_PRIVATE_KEY="" # Main mail domain MAILU_HTTP_PORT=6080 MAILU_HTTPS_PORT=60443 @@ -679,7 +679,7 @@ MAILU_SECRET_KEY=ChangeMeChangeMe # Choose how secure connections will behave (value: letsencrypt, cert, notls, mail) MAILU_TLS_FLAVOR=cert # Authentication rate limit (per source IP address) -MAILU_AUTH_RATELIMIT=10/minute;1000/hour +MAILU_AUTH_RATELIMIT="10/minute;1000/hour" # Opt-out of statistics, replace with "True" to opt out MAILU_DISABLE_STATISTICS=False # Message size limit in bytes @@ -701,14 +701,14 @@ MAILU_DMARC_RUF=admin # Welcome email, enable and set a topic and body if you wish to send welcome # emails to all users. MAILU_WELCOME=True -MAILU_WELCOME_SUBJECT=Welcome to your new email account -MAILU_WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly! +MAILU_WELCOME_SUBJECT="Welcome to your new email account" +MAILU_WELCOME_BODY="Welcome to your new email account, if you can read this, then it is configured properly!" # Path to the admin interface if enabled MAILU_WEB_ADMIN=/admin # Path to the webmail if enabled MAILU_WEB_WEBMAIL=/webmail # Website name -MAILU_SITENAME=Example Mail +MAILU_SITENAME="Example Mail" # Linked Website URL MAILU_WEBSITE=http://mail.example.com # Default password scheme used for newly created accounts and changed passwords From 9aecc53dba723c7a9f110ee245218e2b673c8b3f Mon Sep 17 00:00:00 2001 From: Justin Seliga Date: Fri, 27 Dec 2019 19:34:56 -0500 Subject: [PATCH 86/96] provide smbclient and php-smbclient to php-fpm and workspace containers --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 10 ++++++++++ workspace/Dockerfile | 10 ++++++++++ 4 files changed, 24 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 76dacec5..fdab1416 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -73,6 +73,7 @@ services: - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - INSTALL_XSL=${WORKSPACE_INSTALL_XSL} - INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP} + - INSTALL_SMB=${WORKSPACE_INSTALL_SMB} - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP} - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP} @@ -173,6 +174,7 @@ services: - INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2} - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} - INSTALL_XSL=${PHP_FPM_INSTALL_XSL} + - INSTALL_SMB=${PHP_FPM_INSTALL_SMB} - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP} - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP} diff --git a/env-example b/env-example index aa5f25e0..c521fd04 100644 --- a/env-example +++ b/env-example @@ -108,6 +108,7 @@ WORKSPACE_INSTALL_LDAP=false WORKSPACE_INSTALL_GMP=false WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_XSL=false +WORKSPACE_INSTALL_SMB=false WORKSPACE_INSTALL_IMAP=false WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_AMQP=false @@ -172,6 +173,7 @@ PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_XHPROF=false PHP_FPM_INSTALL_PHPDBG=false +PHP_FPM_INSTALL_SMB=false PHP_FPM_INSTALL_IMAP=false PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_AMQP=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 559351d9..a0af2228 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -658,6 +658,16 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ docker-php-ext-enable imagick \ ;fi +########################################################################### +# SMB: +########################################################################### + +ARG INSTALL_SMB=false + +RUN if [ ${INSTALL_SMB} = true ]; then \ + apt-get install -y smbclient php-smbclient coreutils \ +;fi + ########################################################################### # IMAP: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index a0619410..6223e0a2 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -298,6 +298,16 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \ apt-get install -y php${LARADOCK_PHP_VERSION}-ldap \ ;fi +########################################################################### +# SMB: +########################################################################### + +ARG INSTALL_SMB=false + +RUN if [ ${INSTALL_SMB} = true ]; then \ + apt-get install -y smbclient php-smbclient coreutils \ +;fi + ########################################################################### # IMAP: ########################################################################### From de57f728cc757317c0a68872778114ebdc04d38f Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Tue, 31 Dec 2019 19:12:37 +0800 Subject: [PATCH 87/96] fix build-args INSTALL_GHOSTSCRIPT were not consumed (#2452) --- php-worker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index e72f51a8..df78ab42 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -142,6 +142,7 @@ RUN if [ $INSTALL_PHALCON = true ]; then \ && rm -rf /tmp/cphalcon* \ ;fi +ARG INSTALL_GHOSTSCRIPT=false RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \ apk --update add ghostscript \ ;fi From 92e7a8559d6ccba2f79bd3cc34aa21d0ec0c2f8b Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Fri, 3 Jan 2020 20:07:42 +0800 Subject: [PATCH 88/96] upgrade apache2 --- apache2/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 71cad501..7f0e6571 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -1,4 +1,4 @@ -FROM webdevops/apache:ubuntu-16.04 +FROM webdevops/apache:ubuntu-18.04 LABEL maintainer="Eric Pfeiffer " From ef267a64e6b9b802c39e310d404e1439cb270ada Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Mon, 6 Jan 2020 23:39:23 +0800 Subject: [PATCH 89/96] PHP 7.4 zip option removed --- php-fpm/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index a0af2228..74b072ee 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -51,7 +51,11 @@ RUN set -xe; \ # # next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 libzip-dev zip unzip && \ - docker-php-ext-configure zip --with-libzip && \ + if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \ + docker-php-ext-configure zip; \ + else \ + docker-php-ext-configure zip --with-libzip; \ + fi && \ # Install the zip extension docker-php-ext-install zip && \ php -m | grep -q 'zip' From 5c10a024f1d61c99c42d5cb53694f760f00d051e Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Sun, 12 Jan 2020 15:38:58 +0100 Subject: [PATCH 90/96] Make small documentation updates - remove guides section - re-order some content - fix some links - remove duplicated ads --- DOCUMENTATION/config.toml | 25 +- DOCUMENTATION/content/contributing/index.md | 2 +- DOCUMENTATION/content/documentation/index.md | 17 +- .../content/getting-started/index.md | 12 - DOCUMENTATION/content/guides/index.md | 878 ------------------ DOCUMENTATION/content/help/index.md | 8 +- DOCUMENTATION/content/introduction/index.md | 154 +-- .../layouts/_default/single.html | 14 - .../hugo-material-docs/layouts/index.html | 2 +- 9 files changed, 108 insertions(+), 1004 deletions(-) delete mode 100644 DOCUMENTATION/content/guides/index.md diff --git a/DOCUMENTATION/config.toml b/DOCUMENTATION/config.toml index 1d11afbd..56e4fe03 100644 --- a/DOCUMENTATION/config.toml +++ b/DOCUMENTATION/config.toml @@ -17,7 +17,7 @@ googleAnalytics = "UA-37514928-9" # Repository provider = "" - repo_url = "" + repo_url = "https://github.com/laradock/laradock" version = "" logo = "images/logo.png" @@ -43,7 +43,7 @@ googleAnalytics = "UA-37514928-9" [social] twitter = "" github = "laradock/laradock" - email = "" + email = "support@laradock.io" # ------- MENU START ----------------------------------------- @@ -63,29 +63,24 @@ googleAnalytics = "UA-37514928-9" weight = 3 [[menu.main]] - name = "4. Guides" - url = "guides/" + name = "4. Help & Questions" + url = "help/" weight = 4 [[menu.main]] - name = "5. Help & Questions" - url = "help/" + name = "5. Related Projects" + url = "related-projects/" weight = 5 [[menu.main]] - name = "6. Related Projects" - url = "related-projects/" + name = "6. Contributing" + url = "contributing/" weight = 6 [[menu.main]] - name = "7. Contributing" - url = "contributing/" - weight = 7 - -[[menu.main]] - name = "8. License" + name = "7. License" url = "license/" - weight = 8 + weight = 7 # ------- MENU END ----------------------------------------- diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index 1d58dcfc..dbe3efb8 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -204,4 +204,4 @@ After your pull request is merged, you can safely delete your branch and pull th
-#### Happy Coding :) +## Happy Coding :) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 30afd7b8..14d5be03 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -272,10 +272,6 @@ docker-compose build workspace ``` - - - -
## Install xDebug @@ -2065,6 +2061,19 @@ Remote debug Laravel web and phpunit tests. +
+ +## Setup Google Cloud for docker registry + +``` +gcloud auth configure-docker +``` + +Login to gcloud for use the registry and auth the permission. + +``` +gcloud auth login +``` diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index aa18b22d..f71661da 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -8,7 +8,6 @@ weight: 2 - [Git](https://git-scm.com/downloads) - [Docker](https://www.docker.com/products/docker/) `>= 17.12` -- [gcloud](https://cloud.google.com/sdk/install) @@ -22,17 +21,6 @@ Choose the setup the best suits your needs. - [A.2) Don't have a PHP project yet](#A2) - [B) Setup for Multiple Projects](#B) -### Setup gcloud for docker registry - -``` -gcloud auth configure-docker -``` - -and login to gcloud for use the registry and auth the permission. - -``` -gcloud auth login -``` ### A) Setup for Single Project diff --git a/DOCUMENTATION/content/guides/index.md b/DOCUMENTATION/content/guides/index.md deleted file mode 100644 index ab8c9c7e..00000000 --- a/DOCUMENTATION/content/guides/index.md +++ /dev/null @@ -1,878 +0,0 @@ ---- -title: 4. Guides -type: index -weight: 4 ---- - - - -## Production Setup on Digital Ocean - -### Install Docker - -- Visit [DigitalOcean](https://cloud.digitalocean.com/login) and login. -- Click the `Create Droplet` button. -- Open the `One-click apps` tab. -- Select Docker with your preferred version. -- Continue creating the droplet as you normally would. -- If needed, check your e-mail for the droplet root password. - -### SSH to your Server - -Find the IP address of the droplet in the DigitalOcean interface. Use it to connect to the server. - -``` -ssh root@ipaddress -``` - -You may be prompted for a password. Type the one you found within your e-mailbox. It'll then ask you to change the password. - -You can now check if Docker is available: - -``` -$root@server:~# docker -``` - -### Set Up Your Laravel Project - -``` -$root@server:~# apt-get install git -$root@server:~# git clone https://github.com/laravel/laravel -$root@server:~# cd laravel -$root@server:~/laravel/ git submodule add https://github.com/Laradock/laradock.git -$root@server:~/laravel/ cd laradock -``` - -### Enter the laradock folder and rename env-example to .env. -``` -$root@server:~/laravel/laradock# cp env-example .env -``` - -### Create Your Laradock Containers - -``` -$root@server:~/laravel/laradock# docker-compose up -d nginx mysql -``` - -Note that more containers are available, find them in the [docs](http://laradock.io/introduction/#supported-software-containers) or the `docker-compose.yml` file. - -### Go to Your Workspace - -``` -docker-compose exec workspace bash -``` - -### Execute commands - -If you want to only execute some command and don't want to enter bash, you can execute `docker-compose run workspace `. - -``` -docker-compose run workspace php artisan migrate -``` - -### Prepare for Visual Studio Code remote development - -If you want to use Visual Studio Code for [remote development](https://code.visualstudio.com/docs/remote/containers) directly on your `workspace` container, copy file `devcontainer.example.json` to `devcontainer.json` and customize it (see [devcontainer.json reference](https://code.visualstudio.com/docs/remote/containers#_devcontainerjson-reference) for more options): -``` -cd .devcontainer -cp devcontainer.example.json devcontainer.json -``` - -Then open your `laradock` folder in Visual Studio Code and click on popup button **Reopen in Container**. - -### Install and configure Laravel - -Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder. - -``` -$ root@workspace:/var/www# composer install -$ root@workspace:/var/www# cp .env.example .env -$ root@workspace:/var/www# php artisan key:generate -$ root@workspace:/var/www# exit -$root@server:~/laravel/laradock# cd .. -$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache -``` - -You can then view your Laravel site by visiting the IP address of your server in your browser. For example: - -``` -http://192.168.1.1 -``` - -It should show you the Laravel default welcome page. - -However, we want it to show up using your custom domain name, as well. - -### Using Your Own Domain Name - -Login to your DNS provider, such as Godaddy, Namecheap. - -Point the Custom Domain Name Server to: - -``` -ns1.digitalocean.com -ns2.digitalocean.com -ns3.digitalocean.com -``` - -Within DigitalOcean, you'll need to change some settings, too. - -Visit: https://cloud.digitalocean.com/networking/domains - -Add your domain name and choose the server IP you'd provision earlier. - -### Serving Site With NGINX (HTTP ONLY) - -Go back to command line. - -``` -$root@server:~/laravel/laradock# cd nginx -$root@server:~/laravel/laradock/nginx# vim laravel.conf -``` - -Remove `default_server` - -``` - listen 80 default_server; - listen [::]:80 default_server ipv6only=on; -``` - -And add `server_name` (your custom domain) - -``` - listen 80; - listen [::]:80 ipv6only=on; - server_name yourdomain.com; -``` - -### Rebuild Your Nginx - -``` -$root@server:~/laravel/laradock# docker-compose down -$root@server:~/laravel/laradock# docker-compose build nginx -``` - -### Re Run Your Containers MYSQL and NGINX - -``` -$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql -``` - -**View Your Site with HTTP ONLY (http://yourdomain.com)** - -### Run Site on SSL with Let's Encrypt Certificate - -**Note: You need to Use Caddy here Instead of Nginx** - -To go Caddy Folders and Edit CaddyFile - -``` -$root@server:~/laravel/laradock# cd caddy -$root@server:~/laravel/laradock/caddy# vim Caddyfile -``` - -Remove 0.0.0.0:80 - -``` -0.0.0.0:80 -root /var/www/public -``` - -and replace with your https://yourdomain.com - -``` -https://yourdomain.com -root /var/www/public -``` - -uncomment tls - -``` -#tls self-signed -``` - -and replace self-signed with your email address - -``` -tls serverbreaker@gmai.com -``` - -This is needed Prior to Creating Let's Encypt - -### Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt - -``` -$root@server:~/laravel/laradock# docker-compose up caddy -``` - -You'll be prompt here to enter your email... you may enter it or not - -``` -Attaching to laradock_mysql_1, laradock_caddy_1 -caddy_1 | Activating privacy features... -caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt. -caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at: -caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf -caddy_1 | Activating privacy features... done. -caddy_1 | https://yourdomain.com -caddy_1 | http://yourdomain.com -``` - -After it finishes, press `Ctrl` + `C` to exit. - -### Stop All Containers and ReRun Caddy and Other Containers on Background - -``` -$root@server:~/laravel/laradock# docker-compose down -$root@server:~/laravel/laradock# docker-compose up -d mysql caddy -``` - -View your Site in the Browser Securely Using HTTPS (https://yourdomain.com) - -**Note that Certificate will be Automatically Renew By Caddy** - ->References: -> -- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04) -- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/) -- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/) -- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) -- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https) -- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls) -- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile) - -
-
-
-
-
- - -## Running Laravel Dusk Tests - -### Option 1: Without Selenium - -- [Intro](#option1-dusk-intro) -- [Workspace Setup](#option1-workspace-setup) -- [Application Setup](#option1-application-setup) -- [Choose Chrome Driver Version (Optional)](#option1-choose-chrome-driver-version) -- [Run Dusk Tests](#option1-run-dusk-tests) - -#### Intro - -This is a guide to run Dusk tests in your `workspace` container with headless -google-chrome and chromedriver. It has been tested with Laravel 5.4 and 5.5. - -#### Workspace Setup - -Update your .env with following entries: - -``` -... -# Install Laravel installer bin to setup demo app -WORKSPACE_INSTALL_LARAVEL_INSTALLER=true -... -# Install all the necessary dependencies for running Dusk tests -WORKSPACE_INSTALL_DUSK_DEPS=true -... -``` - -Then run below to build your workspace. - -``` -docker-compose build workspace -``` - -#### Application Setup - -Run a `workspace` container and you will be inside the container at `/var/www` directory. - -``` -docker-compose run workspace bash - -/var/www#> _ -``` - -Create new Laravel application named `dusk-test` and install Laravel Dusk package. - -``` -/var/www> laravel new dusk-test -/var/www> cd dusk-test -/var/www/dusk-test> composer require --dev laravel/dusk -/var/www/dusk-test> php artisan dusk:install -``` - -Create `.env.dusk.local` by copying from `.env` file. - -``` -/var/www/dusk-test> cp .env .env.dusk.local -``` - -Update the `APP_URL` entry in `.env.dusk.local` to local Laravel server. - -``` -APP_URL=http://localhost:8000 -``` - -You will need to run chromedriver with `headless` and `no-sandbox` flag. In Laravel Dusk 2.x it is -already set `headless` so you just need to add `no-sandbox` flag. If you on previous version 1.x, -you will need to update your `DustTestCase#driver` as shown below. - - -``` -addArguments([ - '--disable-gpu', - '--headless', - '--no-sandbox' - ]); - - return RemoteWebDriver::create( - 'http://localhost:9515', DesiredCapabilities::chrome()->setCapability( - ChromeOptions::CAPABILITY, $options - ) - ); - } -} -``` - -#### Choose Chrome Driver Version (Optional) - -You could choose to use either: - -1. Chrome Driver shipped with Laravel Dusk. (Default) -2. Chrome Driver installed in `workspace` container. (Required tweak on DuskTestCase class) - -For Laravel Dusk 2.x, you need to update `DuskTestCase#prepare` method if you wish to go with option #2. - -``` - -setPrefix('chromedriver') - ->getProcess() - ->setEnv(static::chromeEnvironment()); - } - - ... -} -``` - -#### Run Dusk Tests - -Run local server in `workspace` container and run Dusk tests. - -``` -# alias to run Laravel server in the background (php artisan serve --quiet &) -/var/www/dusk-test> serve -# alias to run Dusk tests (php artisan dusk) -/var/www/dusk-test> dusk - -PHPUnit 6.4.0 by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: 837 ms, Memory: 6.00MB -``` - -### Option 2: With Selenium - -- [Intro](#dusk-intro) -- [DNS Setup](#dns-setup) -- [Docker Compose Setup](#docker-compose) -- [Laravel Dusk Setup](#laravel-dusk-setup) -- [Running Laravel Dusk Tests](#running-tests) - -#### Intro -Setting up Laravel Dusk tests to run with Laradock appears be something that -eludes most Laradock users. This guide is designed to show you how to wire them -up to work together. This guide is written with macOS and Linux in mind. As such, -it's only been tested on macOS. Feel free to create pull requests to update the guide -for Windows-specific instructions. - -This guide assumes you know how to use a DNS forwarder such as `dnsmasq` or are comfortable -with editing the `/etc/hosts` file for one-off DNS changes. - -#### DNS Setup -According to RFC-2606, only four TLDs are reserved for local testing[^1]: - -- `.test` -- `.example` -- `.invalid` -- `.localhost` - -A common TLD used for local development is `.dev`, but newer versions of Google -Chrome (such as the one bundled with the Selenium Docker image), will fail to -resolve that DNS as there will appear to be a name collision. - -The recommended extension is `.test` for your Laravel web apps because you're -running tests. Using a DNS forwarder such as `dnsmasq` or by editing the `/etc/hosts` -file, configure the host to point to `localhost`. - -For example, in your `/etc/hosts` file: -``` -## -# Host Database -# -# localhost is used to configure the loopback interface -# when the system is booting. Do not change this entry. -## -127.0.0.1 localhost -255.255.255.255 broadcasthost -::1 localhost -127.0.0.1 myapp.test -``` - -This will ensure that when navigating to `myapp.test`, it will route the -request to `127.0.0.1` which will be handled by Nginx in Laradock. - -#### Docker Compose setup -In order to make the Selenium container talk to the Nginx container appropriately, -the `docker-compose.yml` needs to be edited to accommodate this. Make the following -changes: - -```yaml -... -selenium: - ... - depends_on: - - nginx - links: - - nginx: -``` - -This allows network communication between the Nginx and Selenium containers -and it also ensures that when starting the Selenium container, the Nginx -container starts up first unless it's already running. This allows -the Selenium container to make requests to the Nginx container, which is -necessary for running Dusk tests. These changes also link the `nginx` environment -variable to the domain you wired up in your hosts file. - -#### Laravel Dusk Setup - -In order to make Laravel Dusk make the proper request to the Selenium container, -you have to edit the `DuskTestCase.php` file that's provided on the initial -installation of Laravel Dusk. The change you have to make deals with the URL the -Remote Web Driver attempts to use to set up the Selenium session. - -One recommendation for this is to add a separate config option in your `.env.dusk.local` -so it's still possible to run your Dusk tests locally should you want to. - -##### .env.dusk.local -``` -... -USE_SELENIUM=true -``` - -##### DuskTestCase.php -```php -abstract class DuskTestCase extends BaseTestCase -{ -... - protected function driver() - { - if (env('USE_SELENIUM', 'false') == 'true') { - return RemoteWebDriver::create( - 'http://selenium:4444/wd/hub', DesiredCapabilities::chrome() - ); - } else { - return RemoteWebDriver::create( - 'http://localhost:9515', DesiredCapabilities::chrome() - ); - } - } -} -``` - -#### Running Laravel Dusk Tests - -Now that you have everything set up, to run your Dusk tests, you have to SSH -into the workspace container as you normally would: -```docker-compose exec --user=laradock workspace bash``` - -Once inside, you can change directory to your application and run: - -```php artisan dusk``` - -One way to make this easier from your project is to create a helper script. Here's one such example: -```bash -#!/usr/bin/env sh - -LARADOCK_HOME="path/to/laradock" - -pushd ${LARADOCK_HOME} - -docker-compose exec --user=laradock workspace bash -c "cd my-project && php artisan dusk && exit" -``` - -This invokes the Dusk command from inside the workspace container but when the script completes -execution, it returns your session to your project directory. - -[^1]: [Don't Use .dev for Development](https://iyware.com/dont-use-dev-for-development/) - - -
-
-
-
-
- - -## PHPStorm XDebug Setup - -- [Intro](#Intro) -- [Installation](#Installation) - - [Customize laradock/docker-compose.yml](#CustomizeDockerCompose) - - [Clean House](#InstallCleanHouse) - - [Laradock Dial Tone](#InstallLaradockDialTone) - - [hosts](#AddToHosts) - - [Firewall](#FireWall) - - [Enable xDebug on php-fpm](#enablePhpXdebug) - - [PHPStorm Settings](#InstallPHPStorm) - - [Configs](#InstallPHPStormConfigs) -- [Usage](#Usage) - - [Laravel](#UsageLaravel) - - [Run ExampleTest](#UsagePHPStormRunExampleTest) - - [Debug ExampleTest](#UsagePHPStormDebugExampleTest) - - [Debug Web Site](#UsagePHPStormDebugSite) -- [SSH into workspace](#SSHintoWorkspace) - - [KiTTY](#InstallKiTTY) - -### Intro - -Wiring up [Laravel](https://laravel.com/), [Laradock](https://github.com/Laradock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`, -you should be able to adjust accordingly. This guide was written based on Docker for Windows Native. - -### Installation - -- This guide assumes the following: - - you have already installed and are familiar with Laravel, Laradock and PHPStorm. - - you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`. - -### hosts -- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2` -On Windows you can find it by opening Windows `Hyper-V Manager`. - - ![Windows Hyper-V Manager](images/photos/PHPStorm/Settings/WindowsHyperVManager.png) - -- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file. - - Set `laravel` to your docker host IP. See [Example](images/photos/SimpleHostsEditor/AddHost_laravel.png). - - -### Firewall -Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port. - -- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that. -- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic. - -#### Edit laradock/docker-compose.yml -Set the following variables: -``` -### Workspace Utilities Container ############### - - workspace: - build: - context: ./workspace - args: - - INSTALL_XDEBUG=true - - INSTALL_WORKSPACE_SSH=true - ... - - -### PHP-FPM Container ##################### - - php-fpm: - build: - context: ./php-fpm - args: - - INSTALL_XDEBUG=true - ... - -``` - -#### Edit xdebug.ini files -- `laradock/workspace/xdebug.ini` -- `laradock/php-fpm/xdebug.ini` - -Set the following variables: - -``` -xdebug.remote_autostart=1 -xdebug.remote_enable=1 -xdebug.remote_connect_back=1 -xdebug.cli_color=1 -``` - - -#### Need to clean house first? - -Make sure you are starting with a clean state. For example, do you have other Laradock containers and images? -Here are a few things I use to clean things up. - -- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name). - -`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}` - -- Delete all images containing `laradock`. - -`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}` -**Note:** This will only delete images that were built with `Laradock`, **NOT** `laradock/*` which are pulled down by `Laradock` such as `laradock/workspace`, etc. -**Note:** Some may fail with: -`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images` - -- I added this to my `.bashrc` to remove orphaned images. - -``` -dclean() { - processes=`docker ps -q -f status=exited` - if [ -n "$processes" ]; then - docker rm $processes - fi - - images=`docker images -q -f dangling=true` - if [ -n "$images" ]; then - docker rmi $images - fi -} -``` - -- If you frequently switch configurations for Laradock, you may find that adding the following and added to your `.bashrc` or equivalent useful: - -``` -# remove laravel* containers -# remove laravel_* images -dcleanlaradockfunction() -{ - echo 'Removing ALL containers associated with laradock' - docker ps -a | awk '{ print $1,$2 }' | grep laradock | awk '{print $1}' | xargs -I {} docker rm {} - - # remove ALL images associated with laradock_ - # does NOT delete laradock/* which are hub images - echo 'Removing ALL images associated with laradock_' - docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {} - - echo 'Listing all laradock docker hub images...' - docker images | grep laradock - - echo 'dcleanlaradock completed' -} -# associate the above function with an alias -# so can recall/lookup by typing 'alias' -alias dcleanlaradock=dcleanlaradockfunction -``` - - -### Let's get a dial-tone with Laravel - -``` -# barebones at this point -docker-compose up -d nginx mysql - -# run -docker-compose ps - -# Should see: - Name Command State Ports ------------------------------------------------------------------------------------------------------------ -laradock_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp -laradock_nginx_1 nginx Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp -laradock_php-fpm_1 php-fpm Up 9000/tcp -laradock_volumes_data_1 true Exit 0 -laradock_volumes_source_1 true Exit 0 -laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp -``` - -### Enable xDebug on php-fpm - -In a host terminal sitting in the laradock folder, run: `./php-fpm/xdebug status` -You should see something like the following: - -``` -xDebug status -laradock_php-fpm_1 -PHP 7.0.9 (cli) (built: Aug 10 2016 19:45:48) ( NTS ) -Copyright (c) 1997-2016 The PHP Group -Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies - with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans -``` - -Other commands include `./php-fpm/xdebug start | stop`. - -If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when -`php-fpm` is started and listening for debug info on port 9000. - - -### PHPStorm Settings - -- Here are some settings that are known to work: - - `Settings/BuildDeploymentConnection` - - ![Settings/BuildDeploymentConnection](/images/photos/PHPStorm/Settings/BuildDeploymentConnection.png) - - - `Settings/BuildDeploymentConnectionMappings` - - ![Settings/BuildDeploymentConnectionMappings](/images/photos/PHPStorm/Settings/BuildDeploymentConnectionMappings.png) - - - `Settings/BuildDeploymentDebugger` - - ![Settings/BuildDeploymentDebugger](/images/photos/PHPStorm/Settings/BuildDeploymentDebugger.png) - - - `Settings/EditRunConfigurationRemoteWebDebug` - - ![Settings/EditRunConfigurationRemoteWebDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png) - - - `Settings/EditRunConfigurationRemoteExampleTestDebug` - - ![Settings/EditRunConfigurationRemoteExampleTestDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png) - - - `Settings/LangsPHPDebug` - - ![Settings/LangsPHPDebug](/images/photos/PHPStorm/Settings/LangsPHPDebug.png) - - - `Settings/LangsPHPInterpreters` - - ![Settings/LangsPHPInterpreters](/images/photos/PHPStorm/Settings/LangsPHPInterpreters.png) - - - `Settings/LangsPHPPHPUnit` - - ![Settings/LangsPHPPHPUnit](/images/photos/PHPStorm/Settings/LangsPHPPHPUnit.png) - - - `Settings/LangsPHPServers` - - ![Settings/LangsPHPServers](/images/photos/PHPStorm/Settings/LangsPHPServers.png) - - - `RemoteHost` - To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`. - - ![RemoteHost](/images/photos/PHPStorm/RemoteHost.png) - - - `RemoteWebDebug` - - ![DebugRemoteOn](/images/photos/PHPStorm/DebugRemoteOn.png) - - - `EditRunConfigurationRemoteWebDebug` - Go to: `Menu/Run/Edit Configurations`. - - ![EditRunConfigurationRemoteWebDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png) - - - `EditRunConfigurationRemoteExampleTestDebug` - Go to: `Menu/Run/Edit Configurations`. - - ![EditRunConfigurationRemoteExampleTestDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png) - - - `WindowsFirewallAllowedApps` - Go to: `Control Panel\All Control Panel Items\Windows Firewall\Allowed apps`. - - ![WindowsFirewallAllowedApps.png](/images/photos/PHPStorm/Settings/WindowsFirewallAllowedApps.png) - - - `hosts` - Edit: `C:\Windows\System32\drivers\etc\hosts`. - - ![WindowsFirewallAllowedApps.png](/images/photos/PHPStorm/Settings/hosts.png) - - - [Enable xDebug on php-fpm](#enablePhpXdebug) - - - -### Usage - -#### Run ExampleTest -- right-click on `tests/ExampleTest.php` - - Select: `Run 'ExampleTest.php'` or `Ctrl+Shift+F10`. - - Should pass!! You just ran a remote test via SSH! - -#### Debug ExampleTest -- Open to edit: `tests/ExampleTest.php` -- Add a BreakPoint on line 16: `$this->visit('/')` -- right-click on `tests/ExampleTest.php` - - Select: `Debug 'ExampleTest.php'`. - - Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH! - - ![Remote Test Debugging Success](/images/photos/PHPStorm/RemoteTestDebuggingSuccess.png) - -#### Debug WebSite -- In case xDebug is disabled, from the `laradock` folder run: -`./php-fpm/xdebug start`. - - To switch xdebug off, run: -`./php-fpm/xdebug stop` - -- Start Remote Debugging - - ![DebugRemoteOn](/images/photos/PHPStorm/DebugRemoteOn.png) - -- Open to edit: `bootstrap/app.php` -- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(` -- Reload [Laravel Site](http://laravel/) - - Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH! - - ![Remote Debugging Success](/images/photos/PHPStorm/RemoteDebuggingSuccess.png) - - -### Let's shell into workspace -Assuming that you are in laradock folder, type: -`ssh -i workspace/insecure_id_rsa -p2222 root@laravel` -**Cha Ching!!!!** -- `workspace/insecure_id_rsa.ppk` may become corrupted. In which case: - - fire up `puttygen` - - import `workspace/insecure_id_rsa` - - save private key to `workspace/insecure_id_rsa.ppk` - -#### KiTTY -[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY. - -- Here are some settings that are working for me: - - ![Session](/images/photos/KiTTY/Session.png) - - ![Terminal](/images/photos/KiTTY/Terminal.png) - - ![Window](/images/photos/KiTTY/Window.png) - - ![WindowAppearance](/images/photos/KiTTY/WindowAppearance.png) - - ![Connection](/images/photos/KiTTY/Connection.png) - - ![ConnectionData](/images/photos/KiTTY/ConnectionData.png) - - ![ConnectionSSH](/images/photos/KiTTY/ConnectionSSH.png) - - ![ConnectionSSHAuth](/images/photos/KiTTY/ConnectionSSHAuth.png) - - ![TerminalShell](/images/photos/KiTTY/TerminalShell.png) - -
-
-
-
-
- - -## Setup remote debugging for PhpStorm on Linux - - - Make sure you have followed the steps above in the [Install Xdebug section](#install-xdebug). - - - Make sure Xdebug accepts connections and listens on port 9000. (Should be default configuration). - -![Debug Configuration](/images/photos/PHPStorm/linux/configuration/debugConfiguration.png "Debug Configuration"). - - - Create a server with name `laradock` (matches **PHP_IDE_CONFIG** key in environment file) and make sure to map project root path with server correctly. - -![Server Configuration](/images/photos/PHPStorm/linux/configuration/serverConfiguration.png "Server Configuration"). - - - Start listening for debug connections, place a breakpoint and you are good to go ! diff --git a/DOCUMENTATION/content/help/index.md b/DOCUMENTATION/content/help/index.md index 1d971c51..8267bc5a 100644 --- a/DOCUMENTATION/content/help/index.md +++ b/DOCUMENTATION/content/help/index.md @@ -6,6 +6,8 @@ weight: 5 Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. +[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock). @@ -41,7 +43,7 @@ Use `http://127.0.0.1` instead of `http://localhost` in your browser.
-## I see an error message containing `address already in use` or `port is already allocated` +## I see an error message containing (address already in use) or (port is already allocated) Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed. @@ -85,7 +87,7 @@ This error sometimes happens because your Laravel application isn't running on t * Option B 1. Change the `DB_HOST` value to the same name as the MySQL docker container. The Laradock docker-compose file currently has this as `mysql` -## I get stuck when building nginx on `fetch http://mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz` +## I get stuck when building nginx on (fetch mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz) As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixed,just set `CHANGE_SOURCE` to false. @@ -101,7 +103,7 @@ WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
-## I get `Module build failed: Error: write EPIPE` while compiling react application +## 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. diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 85115551..3c6437d7 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -33,69 +33,6 @@ Supporting a variety of common services, all pre-configured to provide a full PH --- - -## Sponsors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Support Laradock with your [organization](https://opencollective.com/laradock/contribute/). -
-Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page. -
-For more info contact support@laradock.io. - -
- - ## Quick Overview Let's see how easy it is to setup our demo stack `PHP`, `NGINX`, `MySQL`, `Redis` and `Composer`: @@ -300,28 +237,28 @@ Laradock exists thanks to all the people who contribute.
Bo-Yi Wu
- @appleboy + @appleboy
Philippe Trépanier
- @philtrep + @philtrep
Mike Erickson
- @mikeerickson + @mikeerickson
Dwi Fahni Denni
- @zeroc0d3 + @zeroc0d3 @@ -330,35 +267,35 @@ Laradock exists thanks to all the people who contribute.
Thor Erik
- @thorerik + @thorerik
Winfried van Loon
- @winfried-van-loon + @winfried-van-loon
TJ Miller
- @sixlive + @sixlive
Yu-Lung Shao (Allen)
- @bestlong + @bestlong
Milan Urukalo
- @urukalo + @urukalo @@ -367,28 +304,28 @@ Laradock exists thanks to all the people who contribute.
Vince Chu
- @vwchu + @vwchu
Huadong Zuo
- @zuohuadong + @zuohuadong
Lan Phan
- @lanphan + @lanphan
Ahkui
- @ahkui + @ahkui @@ -423,3 +360,68 @@ Contribute and help us sustain the project. Option 3: Become a backer on [Open Collective](https://opencollective.com/laradock/contribute). + + + + +## Sponsors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Support Laradock with your [organization](https://opencollective.com/laradock/contribute/). +
+Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page. +
+For more info contact support@laradock.io. + +
+ diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html index af662ad5..050f28d2 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html @@ -24,20 +24,6 @@
- - - - - - - - -

{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}

{{ .Content }} diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html index 502cd68c..a7c9bc13 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html @@ -25,7 +25,7 @@
- +
From 8011182a3413716a62f0cbc0fe0a10521597672c Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Tue, 14 Jan 2020 21:38:24 +0800 Subject: [PATCH 91/96] php 7.4 required oniguruma --- php-worker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index df78ab42..d9733e5f 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -29,6 +29,7 @@ RUN apk --update add wget \ autoconf \ cyrus-sasl-dev \ libgsasl-dev \ + oniguruma-dev \ supervisor RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl From 4fbe5c03b972fedbe9e36df090cc12beb48c1e77 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Tue, 14 Jan 2020 16:06:25 +0100 Subject: [PATCH 92/96] Update Dockerfile Add non-root user for ffmpeg installation --- laravel-horizon/Dockerfile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 3c0509e7..f627557b 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -26,6 +26,15 @@ RUN apk --update add wget \ 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 +# Add a non-root user to help install ffmpeg: +ARG PUID=1000 +ENV PUID ${PUID} +ARG PGID=1000 +ENV PGID ${PGID} + +RUN addgroup -g ${PGID} laradock && \ + adduser -D -G laradock -u ${PUID} laradock + #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ From a84611ff4b117dfa0c5ee52ec3ca0a7141120f34 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Tue, 14 Jan 2020 16:07:07 +0100 Subject: [PATCH 93/96] Update docker-compose.yml Add necessary args --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index d3aca5a9..22d96b68 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -272,6 +272,8 @@ services: - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG} + - PUID=${PHP_WORKER_PUID} + - PGID=${PHP_WORKER_PGID} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d From 84b5c5aaa00b623fbbcc20acf45c9247e3083999 Mon Sep 17 00:00:00 2001 From: Claudio Ludovico <921500+ludo237@users.noreply.github.com> Date: Tue, 14 Jan 2020 16:10:42 +0100 Subject: [PATCH 94/96] Update config Add user created during docker installation --- laravel-horizon/supervisord.d/laravel-horizon.conf.example | 1 + 1 file changed, 1 insertion(+) diff --git a/laravel-horizon/supervisord.d/laravel-horizon.conf.example b/laravel-horizon/supervisord.d/laravel-horizon.conf.example index 245dccd5..f664320a 100644 --- a/laravel-horizon/supervisord.d/laravel-horizon.conf.example +++ b/laravel-horizon/supervisord.d/laravel-horizon.conf.example @@ -1,5 +1,6 @@ [program:laravel-horizon] process_name=%(program_name)s_%(process_num)02d +user=laradock command=php /var/www/artisan horizon autostart=true autorestart=true From 9461c859f07b27200646704fc0e9e47a6f029727 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 16 Jan 2020 14:57:19 +0800 Subject: [PATCH 95/96] upgrade base image version --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 74b072ee..1d6a8bfe 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -14,7 +14,7 @@ ARG LARADOCK_PHP_VERSION -FROM laradock/php-fpm:2.6.2-${LARADOCK_PHP_VERSION} +FROM laradock/php-fpm:2.7-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From 34daaba270654e15f279953fbe1d65c4c537a96c Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Sat, 1 Feb 2020 20:31:18 +0100 Subject: [PATCH 96/96] update github issues and PR templates, add config for github stale bot in addition to some small updates in the readme, /.github and /docs.. --- .github/CODE_OF_CONDUCT.md | 46 ----------- .github/CONTRIBUTING.md | 3 - .github/FUNDING.yml | 5 +- .github/ISSUE_TEMPLATE.md | 23 ------ .github/ISSUE_TEMPLATE/bug_report.md | 50 ++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 ++ .github/ISSUE_TEMPLATE/feature_request.md | 17 ++++ .github/PULL_REQUEST_TEMPLATE.md | 21 +++-- .github/SUPPORT.md | 3 + .github/stale.yml | 21 +++++ CODE_OF_CONDUCT.md | 3 + CONTRIBUTING.md | 3 + DOCUMENTATION/content/introduction/index.md | 78 ++++++++++++++---- .../hugo-material-docs/layouts/index.html | 3 - .../layouts/partials/head.html | 21 ----- README.md | 81 ++++++++++++++++--- 16 files changed, 252 insertions(+), 131 deletions(-) delete mode 100644 .github/CODE_OF_CONDUCT.md delete mode 100644 .github/CONTRIBUTING.md delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/SUPPORT.md create mode 100644 .github/stale.yml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index 8359c58e..00000000 --- a/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,46 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mahmoud@zalt.me. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index 7d5865b0..00000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,3 +0,0 @@ -### First off, thanks for taking the time to contribute! - -For the contribution guide [click here](http://laradock.io/contributing/). diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 61a5c983..40005024 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,5 @@ # DO NOT CHANGE THIS FILE PLEASE. +github: Mahmoudz open_collective: laradock -ko_fi: laradock -issuehunt: laradock -custom: ['beerpay.io/laradock/laradock', 'paypal.me/mzmmzz'] +custom: ['paypal.me/mzmmzz'] diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index eff16ef7..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,23 +0,0 @@ -### Info: -- Docker version (`$ docker --version`): -- Laradock commit (`$ git rev-parse HEAD`): -- System info (Mac, PC, Linux): -- System info disto/version: - -### Issue: - -_____ - -### Expected behavior: - -_____ - -### Reproduce: - -_____ - -### Relevant Code: - -``` -// place a code sample here -``` diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..14edccab --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,50 @@ +--- +name: "Bug report" +about: "Report a general issue, encountered while using Laradock." +labels: "Type: Bug" +--- + +### Description: + + +### Expected Behavior: + + +### Context information: + +**Output of `git rev-parse HEAD`** + +``` +{paste here} +``` + +**Output of `docker version`** + +``` +{paste here} +``` + +**Output of `docker-compose version`** + +``` +{paste here} +``` + +**System info: Mac, Windows or Linux. Include which disto/version** + +``` +{paste here} +``` + +### Steps to reproduce the issue: + + +1. +2. +3. + +### Stacktrace & Additional info: + +``` +{paste here} +``` diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..18ff9f8b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Support question + url: https://gitter.im/LaraDock/laradock + about: 'This repository is only for reporting bugs. If you need help, get in touch with us via Gitter.' diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..15ad6ff8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: "Feature request" +about: "Suggest an idea for this project." +labels: "Type: Feature Request" +--- + +**Is your feature request related to a problem? Please describe.** + + +**Describe the solution you'd like** + + +**Describe alternatives you've considered** + + +**Additional context** + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 163c99c0..85ca95d7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,18 @@ - +## Description + + -##### I completed the 3 steps below: +## Motivation and Context + -- [ ] I've read the [Contribution Guide](http://laradock.io/contributing). -- [ ] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so). -- [ ] I enjoyed my time contributing and making developer's life easier :) +## Types of Changes + +- [] Bug fix (non-breaking change which fixes an issue). +- [] New feature (non-breaking change which adds functionality). +- [] Breaking change (fix or feature that would cause existing functionality to not work as expected). + +## Definition of Done Checklist: + +- [] I've read the [Contribution Guide](http://laradock.io/contributing). +- [] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so). +- [] I enjoyed my time contributing and making developer's life easier :) diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 00000000..323f966f --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,3 @@ +# Support Questions + +For help, please visit our official chatting room on [Gitter](https://gitter.im/Laradock/laradock). diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..f3c36da7 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,21 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 180 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 90 +# Issues with these labels will never be considered stale +exemptLabels: + - 'Type: Feature Request' +# Label to use when marking an issue as stale +staleLabel: stale +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: > + This issue has been automatically closed because it had not recent activity during the stale period. +# Limit to only `issues` or `pulls` +only: issues diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..4d6e3062 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,3 @@ +# Laradock Code of Conduct + +We follow the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct) Code of Conduct. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..74868e19 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# Thank you for your consideration + +Checkout out our [contribution guide](http://laradock.io/contributing). diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 3c6437d7..5dcc92da 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -212,7 +212,7 @@ You can choose, which tools to install in your workspace container and other con ## Chat with us -You are welcome to join our chat room on Gitter. +Feel free to join us on Gitter. [![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) @@ -349,19 +349,11 @@ Laradock exists thanks to all the people who contribute. Contribute and help us sustain the project. -Option 1: Donate directly to [Paypal](https://paypal.me/mzmmzz). - -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/mzmmzz) - -Option 2: Support us via [BeerPay](https://beerpay.io/laradock/laradock). - -[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock) - -Option 3: Become a backer on [Open Collective](https://opencollective.com/laradock/contribute). - - - - +Option 1: Donate via [Paypal](https://paypal.me/mzmmzz). +
+Option 2: Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz). +
+Option 3: Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute). ## Sponsors @@ -423,5 +415,61 @@ Your logo will show up on the [github repository](https://github.com/laradock/la
For more info contact support@laradock.io. + +## Backers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- + diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html index a7c9bc13..7f14e8b8 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html @@ -25,8 +25,6 @@
- -
@@ -39,7 +37,6 @@ (adsbygoogle = window.adsbygoogle || []).push({}); -



laradock logo diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html index ea23eb84..09533958 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html @@ -70,27 +70,6 @@ {{ end }} - - {{ with .RSSLink }} diff --git a/README.md b/README.md index 53e29e0a..00071f6e 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,15 @@ --- + +## Chat with us + +Feel free to join us on Gitter. + +[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +--- + ## Awesome People Laradock exists thanks to all the people who contribute. @@ -162,17 +171,11 @@ Laradock exists thanks to all the people who contribute. Contribute and help us sustain the project. -Option 1: Donate directly to [Paypal](https://paypal.me/mzmmzz). - -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/mzmmzz) - -Option 2: Support us via [BeerPay](https://beerpay.io/laradock/laradock). - -[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock) - -Option 3: Become a backer on [Open Collective](https://opencollective.com/laradock/contribute). - - +Option 1: Donate via [Paypal](https://paypal.me/mzmmzz). +
+Option 2: Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz). +
+Option 3: Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute). ## Sponsors @@ -233,6 +236,60 @@ Your logo will show up on the [github repository](https://github.com/laradock/la
For more info contact support@laradock.io. +## Backers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## License -[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) +[MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © Mahmoud Zalt