From e07ee7d07d8bd7f3091ac333fbd90b3b29a2153e Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:25:16 -0300 Subject: [PATCH 001/470] GraphViz support in workspace Issue #1003 --- docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 11 +++++++++++ 3 files changed, 13 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 2e6a7ea..22049d0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -88,6 +88,7 @@ services: - INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT} - INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE} - INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG} + - INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} diff --git a/env-example b/env-example index 25ebcb7..b0cb7dc 100644 --- a/env-example +++ b/env-example @@ -114,6 +114,7 @@ WORKSPACE_INSTALL_DUSK_DEPS=false WORKSPACE_INSTALL_PG_CLIENT=false WORKSPACE_INSTALL_SWOOLE=false WORKSPACE_INSTALL_LIBPNG=false +WORKSPACE_INSTALL_GRAPHVIZ=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_CHROME_DRIVER_VERSION=2.32 diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4f1e464..6d25236 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -377,6 +377,17 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \ apt install libpng16-16 \ ;fi +########################################################################### +# GraphViz extension +########################################################################### + +ARG INSTALL_GRAPHVIZ=false + +RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \ + apt-get update && \ + apt-get install -y graphviz \ +;fi + ########################################################################### # Drupal Console: ########################################################################### From 7aba9991f658d78eda59db04f67c3ff5d11bc4c1 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:26:27 -0300 Subject: [PATCH 002/470] Conflict merge --- docker-compose.yml | 2 +- .../docker-entrypoint-initdb.d/createdb.sql.example | 12 ++++++------ nginx/sites/{default.conf => default.conf.example} | 0 workspace/Dockerfile | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) rename nginx/sites/{default.conf => default.conf.example} (100%) diff --git a/docker-compose.yml b/docker-compose.yml index d9566e8..8b2cbd1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -685,7 +685,7 @@ services: networks: - frontend - backend - + ### Solr ################################################ solr: build: diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example index 6420afb..dc48e59 100644 --- a/mysql/docker-entrypoint-initdb.d/createdb.sql.example +++ b/mysql/docker-entrypoint-initdb.d/createdb.sql.example @@ -16,13 +16,13 @@ # mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql # -#CREATE DATABASE IF NOT EXISTS `dev_db_1` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ; +CREATE DATABASE IF NOT EXISTS `finance_control` COLLATE 'utf8_general_ci' ; +GRANT ALL ON `finance_control`.* TO 'fincon'@'%' IDENTIFIED BY 'fincon'; -#CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; +-- CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; +-- GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; -#CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; -#GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; +-- CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; +-- GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; FLUSH PRIVILEGES ; diff --git a/nginx/sites/default.conf b/nginx/sites/default.conf.example similarity index 100% rename from nginx/sites/default.conf rename to nginx/sites/default.conf.example diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6d25236..36e4437 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -787,7 +787,7 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ USER root RUN apt-get update -yqq \ - && apt-get -yqq install nasm + && apt-get -yqq install nasm ########################################################################### # Dusk Dependencies: From d04fa78a75f614819faf873ee1dc94e97998ec56 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Wed, 18 Jul 2018 13:39:52 -0300 Subject: [PATCH 003/470] Removed invalid example file --- .../createdb.sql.example | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 mysql/docker-entrypoint-initdb.d/createdb.sql.example diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example deleted file mode 100644 index dc48e59..0000000 --- a/mysql/docker-entrypoint-initdb.d/createdb.sql.example +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copy createdb.sql.example to createdb.sql -# then uncomment then set database name and username to create you need databases -# -# example: .env MYSQL_USER=appuser and need db name is myshop_db -# -# CREATE DATABASE IF NOT EXISTS `myshop_db` ; -# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ; -# -# -# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found. -# -# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution: -# -# docker-compose exec mysql bash -# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql -# - -CREATE DATABASE IF NOT EXISTS `finance_control` COLLATE 'utf8_general_ci' ; -GRANT ALL ON `finance_control`.* TO 'fincon'@'%' IDENTIFIED BY 'fincon'; - --- CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; --- GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; - --- CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; --- GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; - -FLUSH PRIVILEGES ; From e526e46e60beff6d2bf5ecb5395d8265f3994a36 Mon Sep 17 00:00:00 2001 From: Madson Jr Date: Fri, 20 Jul 2018 19:14:11 -0300 Subject: [PATCH 004/470] MySQL create DB example. --- .../createdb.sql.example | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 mysql/docker-entrypoint-initdb.d/createdb.sql.example diff --git a/mysql/docker-entrypoint-initdb.d/createdb.sql.example b/mysql/docker-entrypoint-initdb.d/createdb.sql.example new file mode 100644 index 0000000..6420afb --- /dev/null +++ b/mysql/docker-entrypoint-initdb.d/createdb.sql.example @@ -0,0 +1,28 @@ +# +# Copy createdb.sql.example to createdb.sql +# then uncomment then set database name and username to create you need databases +# +# example: .env MYSQL_USER=appuser and need db name is myshop_db +# +# CREATE DATABASE IF NOT EXISTS `myshop_db` ; +# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ; +# +# +# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found. +# +# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution: +# +# docker-compose exec mysql bash +# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql +# + +#CREATE DATABASE IF NOT EXISTS `dev_db_1` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ; + +#CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ; + +#CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ; +#GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ; + +FLUSH PRIVILEGES ; From 5a61c134f34cc3387d2831fc87bd3c425d76b249 Mon Sep 17 00:00:00 2001 From: Nazariy Hazdun Date: Fri, 17 Aug 2018 14:24:48 +0300 Subject: [PATCH 005/470] Add Weaver-athenapdf --- weaver/conf/sample.env | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 weaver/conf/sample.env diff --git a/weaver/conf/sample.env b/weaver/conf/sample.env new file mode 100644 index 0000000..ccb48de --- /dev/null +++ b/weaver/conf/sample.env @@ -0,0 +1,19 @@ +GIN_MODE=debug + +# Weaver +WEAVER_AUTH_KEY=arachnys-weaver +WEAVER_ATHENA_CMD=athenapdf -S +WEAVER_MAX_WORKERS=10 +WEAVER_MAX_CONVERSION_QUEUE=50 +WEAVER_WORKER_TIMEOUT=90 +WEAVER_CONVERSION_FALLBACK=false + +# CloudConvert +# API key can be found: https://cloudconvert.com/user/profile +# CLOUDCONVERT_API=https://api.cloudconvert.com +# CLOUDCONVERT_KEY= + +# Monitoring +# STATSD_ADDRESS= +# STATSD_PREFIX= +# SENTRY_DSN= \ No newline at end of file From 006946ce6a8c48110efe4236b4bb5e1353d266e7 Mon Sep 17 00:00:00 2001 From: Nazariy Hazdun Date: Fri, 17 Aug 2018 14:31:38 +0300 Subject: [PATCH 006/470] Add Weaver-athenapdf --- docker-compose.yml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e1a6f18..276ea89 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -685,7 +685,7 @@ services: networks: - frontend - backend - + ### Solr ################################################ solr: build: @@ -730,15 +730,15 @@ services: context: ./gitlab environment: GITLAB_OMNIBUS_CONFIG: | - external_url '${GITLAB_DOMAIN_NAME}' - redis['enable'] = false - nginx['listen_https'] = false - nginx['listen_port'] = 80 - postgresql['enable'] = false - gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2'] - gitlab_rails['redis_host'] = 'redis' + external_url '${GITLAB_DOMAIN_NAME}' + redis['enable'] = false + nginx['listen_https'] = false + nginx['listen_port'] = 80 + postgresql['enable'] = false + gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2'] + gitlab_rails['redis_host'] = 'redis' gitlab_rails['redis_database'] = 8 - gitlab_rails['db_host'] = 'postgres' + gitlab_rails['db_host'] = 'postgres' gitlab_rails['db_username'] = 'laradock_gitlab' gitlab_rails['db_password'] = 'laradock_gitlab' gitlab_rails['db_database'] = 'laradock_gitlab' @@ -765,7 +765,7 @@ services: - ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock:rw restart: always - + ### JupyterHub ######################################### jupyterhub: build: @@ -876,7 +876,7 @@ services: - backend depends_on: - mongo - + ### Metabase ################################################# metabase: image: metabase/metabase:latest @@ -889,3 +889,14 @@ services: networks: - backend +### Weaver (Athena PDF) ################################################ + weaver: + image: arachnysdocker/athenapdf-service + ports: + - "8080:8080" + env_file: + - ./weaver/conf/sample.env + networks: + - backend + depends_on: + - workspace \ No newline at end of file From d178613e660cd11aac2d529ee6c4523b236f9b03 Mon Sep 17 00:00:00 2001 From: Nazariy Hazdun Date: Fri, 17 Aug 2018 14:33:24 +0300 Subject: [PATCH 007/470] code style fix --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 276ea89..ad5f236 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -889,7 +889,7 @@ services: networks: - backend -### Weaver (Athena PDF) ################################################ +### Weaver (Athena PDF) ################################################# weaver: image: arachnysdocker/athenapdf-service ports: 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 008/470] [U] ignore self-signed certificate --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 890c25c..4235e77 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 009/470] [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 e03ccf8..399eaac 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 010/470] [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 0c3ff89..2965a67 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 399eaac..68578ef 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 3ad37405c6cd91304a0e286dcc2d75f8931beffa Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 24 Jan 2019 20:25:08 +0300 Subject: [PATCH 011/470] Chmod --- mariadb/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index 0dcb948..1929726 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -4,6 +4,8 @@ LABEL maintainer="Mahmoud Zalt " COPY my.cnf /etc/mysql/conf.d/my.cnf +RUN chmod -R 644 /etc/mysql/conf.d/my.cnf + CMD ["mysqld"] EXPOSE 3306 From 8027a98f72d2d30161c0a193ceef467c05e629df Mon Sep 17 00:00:00 2001 From: Anton Sannikov Date: Mon, 20 May 2019 22:36:08 +0200 Subject: [PATCH 012/470] Confluence config added --- docker-compose.yml | 20 +++++++++ env-example | 8 ++++ .../docker-entrypoint-initdb.d/.gitignore | 1 + .../init_confluence_db.sh | 44 +++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 postgres/docker-entrypoint-initdb.d/init_confluence_db.sh diff --git a/docker-compose.yml b/docker-compose.yml index 52f0cf3..b022bbd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,6 +41,8 @@ volumes: driver: ${VOLUMES_DRIVER} mosquitto: driver: ${VOLUMES_DRIVER} + confluence: + driver: ${VOLUMES_DRIVER} sonarqube: driver: ${VOLUMES_DRIVER} @@ -414,6 +416,10 @@ services: - SONARQUBE_POSTGRES_DB=${SONARQUBE_POSTGRES_DB} - SONARQUBE_POSTGRES_USER=${SONARQUBE_POSTGRES_USER} - SONARQUBE_POSTGRES_PASSWORD=${SONARQUBE_POSTGRES_PASSWORD} + - POSTGRES_CONFLUENCE_INIT=${CONFLUENCE_POSTGRES_INIT} + - POSTGRES_CONFLUENCE_DB=${CONFLUENCE_POSTGRES_DB} + - POSTGRES_CONFLUENCE_USER=${CONFLUENCE_POSTGRES_USER} + - POSTGRES_CONFLUENCE_PASSWORD=${CONFLUENCE_POSTGRES_PASSWORD} networks: - backend @@ -1459,3 +1465,17 @@ services: networks: - backend - frontend +### CONFLUENCE ################################################ + confluence: + container_name: Confluence + image: atlassian/confluence-server:${CONFLUENCE_VERSION} + restart: always + ports: + - "${CONFLUENCE_HOST_HTTP_PORT}:8090" + networks: + - frontend + - backend + depends_on: + - postgres + volumes: + - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data \ No newline at end of file diff --git a/env-example b/env-example index b5986c1..9ba3cdd 100644 --- a/env-example +++ b/env-example @@ -366,6 +366,14 @@ JENKINS_HOST_HTTP_PORT=8090 JENKINS_HOST_SLAVE_AGENT_PORT=50000 JENKINS_HOME=./jenkins/jenkins_home +### CONFLUENCE ############################################### +CONFLUENCE_POSTGRES_INIT=true +CONFLUENCE_VERSION=6.13-ubuntu-18.04-adoptopenjdk8 +CONFLUENCE_POSTGRES_DB=laradock_confluence +CONFLUENCE_POSTGRES_USER=laradock_confluence +CONFLUENCE_POSTGRES_PASSWORD=laradock_confluence +CONFLUENCE_HOST_HTTP_PORT=8090 + ### GRAFANA ############################################### GRAFANA_PORT=3000 diff --git a/postgres/docker-entrypoint-initdb.d/.gitignore b/postgres/docker-entrypoint-initdb.d/.gitignore index 0721338..a56b450 100644 --- a/postgres/docker-entrypoint-initdb.d/.gitignore +++ b/postgres/docker-entrypoint-initdb.d/.gitignore @@ -2,3 +2,4 @@ !init_gitlab_db.sh !init_jupyterhub_db.sh !init_sonarqube_db.sh +!init_confluence_db.sh \ No newline at end of file diff --git a/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh b/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh new file mode 100644 index 0000000..ce5e9f7 --- /dev/null +++ b/postgres/docker-entrypoint-initdb.d/init_confluence_db.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# +# Copy createdb.sh.example to createdb.sh +# then uncomment then set database name and username to create you need databases +# +# example: .env POSTGRES_USER=appuser and need db name is myshop_db +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER myuser WITH PASSWORD 'mypassword'; +# CREATE DATABASE myshop_db; +# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser; +# EOSQL +# +# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found. +# +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db1 WITH PASSWORD 'db1'; +# CREATE DATABASE db1; +# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1; +# EOSQL +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db2 WITH PASSWORD 'db2'; +# CREATE DATABASE db2; +# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2; +# EOSQL +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db3 WITH PASSWORD 'db3'; +# CREATE DATABASE db3; +# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3; +# EOSQL +# +### default database and user for confluence ############################################## +if [ "$POSTGRES_CONFLUENCE_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; + GRANT ALL PRIVILEGES ON DATABASE $POSTGRES_CONFLUENCE_DB TO $POSTGRES_CONFLUENCE_USER; + ALTER ROLE $POSTGRES_CONFLUENCE_USER CREATEROLE SUPERUSER; + EOSQL + echo +fi \ No newline at end of file From f23149115d7f8c8ecfe18f82b62f57f02d4d56bc Mon Sep 17 00:00:00 2001 From: Anton Sannikov Date: Mon, 20 May 2019 22:51:36 +0200 Subject: [PATCH 013/470] 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 0704aba..22aa559 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 5d56cc83e64b4311854c22a024a4c7c652e95fda Mon Sep 17 00:00:00 2001 From: "Daniel F. J. Dantur" Date: Sat, 29 Jun 2019 01:34:49 -0300 Subject: [PATCH 014/470] Add LOG_STDOUT and LOG_SDERR required environment variables Fixes Apache crashes due permission errors related to log files docker.stdout and docker.stderr. Logs are now created in /var/log/apache2 as defined in docker-compose.yml apahce2 volumes. Logs are named access.log and error.log like the Apache default log names are. --- apache2/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 71cad50..58cc12f 100644 --- a/apache2/Dockerfile +++ b/apache2/Dockerfile @@ -13,6 +13,10 @@ ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT} ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT} +ENV LOG_STDOUT=/var/log/apache2/access.log + +ENV LOG_STDERR=/var/log/apache2/error.log + EXPOSE 80 443 WORKDIR /var/www/ From e9eacfafa7d2fe23bf23ff2aaaeb6adcd63027bd Mon Sep 17 00:00:00 2001 From: skipworkgh Date: Tue, 2 Jul 2019 16:11:58 +0200 Subject: [PATCH 015/470] Added support for the mailparse php pecl extension --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 13 +++++++++++++ workspace/Dockerfile | 10 ++++++++++ 4 files changed, 27 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a136f74..4babebc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -106,6 +106,7 @@ services: - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${WORKSPACE_INSTALL_PING} - INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS} + - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} @@ -183,6 +184,7 @@ services: - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${PHP_FPM_INSTALL_PING} - INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS} + - INSTALL_MAILPARSE=${PHP_FPM_INSTALL_MAILPARSE} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} - http_proxy diff --git a/env-example b/env-example index 8a75452..2e38d39 100644 --- a/env-example +++ b/env-example @@ -137,6 +137,7 @@ WORKSPACE_INSTALL_PING=false WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_FSWATCH=false +WORKSPACE_INSTALL_MAILPARSE=true WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_CHROME_DRIVER_VERSION=2.42 @@ -188,6 +189,7 @@ PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false +PHP_FPM_INSTALL_MAILPARSE=true PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index ab6ba6b..bc7112a 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -725,6 +725,19 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +########################################################################### +# Mailparse extension: +########################################################################### + +ARG INSTALL_MAILPARSE=false + +RUN if [ ${INSTALL_MAILPARSE} = true ]; then \ + # Install mailparse extension + printf "\n" | pecl install -o -f mailparse \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable mailparse \ +;fi + ########################################################################### # Check PHP version: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 3a07eee..32d2c24 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1057,6 +1057,16 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +########################################################################### +# Mailparse extension: +########################################################################### + +ARG INSTALL_MAILPARSE=false + +RUN if [ ${INSTALL_MAILPARSE} = true ]; then \ + apt-get install -yqq php-mailparse \ +;fi + ########################################################################### # GNU Parallel: ########################################################################### From 9a0f9cfa74876b0bcda19561e270c63a360cd810 Mon Sep 17 00:00:00 2001 From: skipworkgh Date: Tue, 2 Jul 2019 16:36:08 +0200 Subject: [PATCH 016/470] Lets not enable them by default... --- env-example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env-example b/env-example index 2e38d39..f0fa329 100644 --- a/env-example +++ b/env-example @@ -137,7 +137,7 @@ WORKSPACE_INSTALL_PING=false WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_FSWATCH=false -WORKSPACE_INSTALL_MAILPARSE=true +WORKSPACE_INSTALL_MAILPARSE=false WORKSPACE_PUID=1000 WORKSPACE_PGID=1000 WORKSPACE_CHROME_DRIVER_VERSION=2.42 @@ -189,7 +189,7 @@ PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false -PHP_FPM_INSTALL_MAILPARSE=true +PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" From f8ec06ac1cd32aee0f5083fe847b6b510c04fa02 Mon Sep 17 00:00:00 2001 From: anribras Date: Sat, 6 Jul 2019 17:41:11 +0800 Subject: [PATCH 017/470] Add mariadb timezone setting via WORKSPACE_TIMEZONE in .env --- docker-compose.yml | 1 + mariadb/Dockerfile | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a136f74..49a4c3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -407,6 +407,7 @@ services: ports: - "${MARIADB_PORT}:3306" environment: + - TZ=${WORKSPACE_TIMEZONE} - MYSQL_DATABASE=${MARIADB_DATABASE} - MYSQL_USER=${MARIADB_USER} - MYSQL_PASSWORD=${MARIADB_PASSWORD} diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index 0dcb948..7538b4e 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -2,6 +2,13 @@ FROM mariadb:latest LABEL maintainer="Mahmoud Zalt " +##################################### +# Set Timezone +##################################### + +ARG TZ=UTC +ENV TZ ${TZ} +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/ COPY my.cnf /etc/mysql/conf.d/my.cnf CMD ["mysqld"] From cd80ca59df6589b88bb3e00b205ee23c3b82f835 Mon Sep 17 00:00:00 2001 From: Caesar Chi Date: Mon, 8 Jul 2019 23:36:07 +0800 Subject: [PATCH 018/470] 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 8262ead..be9dba4 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 63a5c45bf86a037d16b31b024108ec96856b537a Mon Sep 17 00:00:00 2001 From: Hany alsamman Date: Tue, 23 Jul 2019 07:08:56 +0300 Subject: [PATCH 019/470] Add PCNTL option to php-fpm --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 69b5dc6..9e6bce9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -183,6 +183,7 @@ services: - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - INSTALL_PING=${PHP_FPM_INSTALL_PING} - INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS} + - INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} - http_proxy From 9a852e7bc7ad256a3dfd38e9cdb7b61f0e2fd7e9 Mon Sep 17 00:00:00 2001 From: Stefan Neuhaus Date: Thu, 25 Jul 2019 08:02:59 +0200 Subject: [PATCH 020/470] Implementing Cassandra DB & PHP Extension --- cassandra/Dockerfile | 5 +++++ docker-compose.yml | 38 ++++++++++++++++++++++++++++++++++++++ env-example | 36 ++++++++++++++++++++++++++++++++++++ laravel-horizon/Dockerfile | 22 ++++++++++++++++++++++ php-worker/Dockerfile | 20 ++++++++++++++++++++ workspace/Dockerfile | 31 +++++++++++++++++++++++++++++++ 6 files changed, 152 insertions(+) create mode 100644 cassandra/Dockerfile diff --git a/cassandra/Dockerfile b/cassandra/Dockerfile new file mode 100644 index 0000000..cdf280a --- /dev/null +++ b/cassandra/Dockerfile @@ -0,0 +1,5 @@ +ARG CASSANDRA_VERSION=latest +FROM bitnami/cassandra:${CASSANDRA_VERSION} + +LABEL maintainer="Stefan Neuhaus " + diff --git a/docker-compose.yml b/docker-compose.yml index 69b5dc6..6773264 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -45,6 +45,8 @@ volumes: driver: ${VOLUMES_DRIVER} sonarqube: driver: ${VOLUMES_DRIVER} + cassandra: + driver: ${VOLUMES_DRIVER} services: @@ -67,6 +69,7 @@ services: - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP} - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP} + - INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA} - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS} - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} @@ -153,6 +156,7 @@ services: - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP} - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP} + - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_GMP=${PHP_FPM_INSTALL_GMP} @@ -220,6 +224,7 @@ services: - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE} - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT} - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP} + - INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA} - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT} - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE} - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} @@ -246,6 +251,7 @@ services: - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP} + - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d @@ -584,6 +590,38 @@ services: networks: - backend +### Cassandra ############################################ + cassandra: + build: ./cassandra + ports: + - "${CASSANDRA_TRANSPORT_PORT_NUMBER}:7000" + - "${CASSANDRA_JMX_PORT_NUMBER}:7199" + - "${CASSANDRA_CQL_PORT_NUMBER}:9042" + privileged: true + environment: + - CASSANDRA_VERSION=${CASSANDRA_VERSION} + - CASSANDRA_TRANSPORT_PORT_NUMBER=${CASSANDRA_TRANSPORT_PORT_NUMBER} + - CASSANDRA_JMX_PORT_NUMBER=${CASSANDRA_JMX_PORT_NUMBER} + - CASSANDRA_CQL_PORT_NUMBER=${CASSANDRA_CQL_PORT_NUMBER} + - CASSANDRA_USER=${CASSANDRA_USER} + - CASSANDRA_PASSWORD_SEEDER=${CASSANDRA_PASSWORD_SEEDER} + - CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} + - CASSANDRA_NUM_TOKENS=${CASSANDRA_NUM_TOKENS} + - CASSANDRA_HOST=${CASSANDRA_HOST} + - CASSANDRA_CLUSTER_NAME=${CASSANDRA_CLUSTER_NAME} + - CASSANDRA_SEEDS=${CASSANDRA_SEEDS} + - CASSANDRA_ENDPOINT_SNITCH=${CASSANDRA_ENDPOINT_SNITCH} + - CASSANDRA_ENABLE_RPC=${CASSANDRA_ENABLE_RPC} + - CASSANDRA_DATACENTER=${CASSANDRA_DATACENTER} + - CASSANDRA_RACK=${CASSANDRA_RACK} + hostname: laradock-cassandra + volumes: + - ${DATA_PATH_HOST}/cassandra:/var/lib/cassandra + depends_on: + - php-fpm + networks: + - backend + ### Beanstalkd Console ################################### beanstalkd-console: build: ./beanstalkd-console diff --git a/env-example b/env-example index a7bf59b..a4793a7 100644 --- a/env-example +++ b/env-example @@ -106,6 +106,7 @@ WORKSPACE_INSTALL_XSL=false WORKSPACE_INSTALL_IMAP=false WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_AMQP=false +WORKSPACE_INSTALL_CASSANDRA=false WORKSPACE_INSTALL_MSSQL=false WORKSPACE_INSTALL_DRUSH=false WORKSPACE_DRUSH_VERSION=8.1.17 @@ -161,6 +162,7 @@ PHP_FPM_INSTALL_PHPDBG=false PHP_FPM_INSTALL_IMAP=false PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_AMQP=false +PHP_FPM_INSTALL_CASSANDRA=false PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_SSH2=false PHP_FPM_INSTALL_SOAP=false @@ -205,6 +207,7 @@ PHP_WORKER_INSTALL_SWOOLE=false PHP_WORKER_INSTALL_TAINT=false PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_INSTALL_GMP=false +PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 @@ -731,3 +734,36 @@ SONARQUBE_POSTGRES_HOST=postgres SONARQUBE_POSTGRES_DB=sonar SONARQUBE_POSTGRES_USER=sonar SONARQUBE_POSTGRES_PASSWORD=sonarPass + +### CASSANDRA ################################################ + +# Cassandra Version, supported tags can be found at https://hub.docker.com/r/bitnami/cassandra/ +CASSANDRA_VERSION=latest +# Inter-node cluster communication port. Default: 7000 +CASSANDRA_TRANSPORT_PORT_NUMBER=7000 +# JMX connections port. Default: 7199 +CASSANDRA_JMX_PORT_NUMBER=7199 +# Client port. Default: 9042. +CASSANDRA_CQL_PORT_NUMBER=9042 +# Cassandra user name. Defaults: cassandra +CASSANDRA_USER=cassandra +# Password seeder will change the Cassandra default credentials at initialization. In clusters, only one node should be marked as password seeder. Default: no +CASSANDRA_PASSWORD_SEEDER=no +# Cassandra user password. Default: cassandra +CASSANDRA_PASSWORD=cassandra +# Number of tokens for the node. Default: 256. +CASSANDRA_NUM_TOKENS=256 +# Hostname used to configure Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. +CASSANDRA_HOST= +# Cluster name to configure Cassandra.. Defaults: My Cluster +CASSANDRA_CLUSTER_NAME="My Cluster" +# : Hosts that will act as Cassandra seeds. No defaults. +CASSANDRA_SEEDS= + # Snitch name (which determines which data centers and racks nodes belong to). Default SimpleSnitch +CASSANDRA_ENDPOINT_SNITCH=SimpleSnitch + # Enable the thrift RPC endpoint. Default :true +CASSANDRA_ENABLE_RPC=true +# Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1. +CASSANDRA_DATACENTER=dc1 +# Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1. +CASSANDRA_RACK=rack1 \ No newline at end of file diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index e89468e..c948616 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -45,6 +45,28 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ && docker-php-ext-install pdo_pgsql \ ;fi +# Install Cassandra drivers: +ARG INSTALL_CASSANDRA=false +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + apk --update add cassandra-cpp-driver \ + ;fi + +WORKDIR /usr/src +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + git clone https://github.com/datastax/php-driver.git \ + && cd php-driver/ext \ + && phpize \ + && mkdir -p /usr/src/php-driver/build \ + && cd /usr/src/php-driver/build \ + && ../ext/configure > /dev/null \ + && make clean >/dev/null \ + && make >/dev/null 2>&1 \ + && make install \ + && docker-php-ext-enable cassandra \ +;fi + + + ########################################################################### # PHP Memcached: ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 5297c7b..b8d482d 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -85,6 +85,26 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ docker-php-ext-install sockets \ ;fi +# Install Cassandra drivers: +ARG INSTALL_CASSANDRA=false +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + apk --update add cassandra-cpp-driver \ + ;fi + +WORKDIR /usr/src +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + git clone https://github.com/datastax/php-driver.git \ + && cd php-driver/ext \ + && phpize \ + && mkdir -p /usr/src/php-driver/build \ + && cd /usr/src/php-driver/build \ + && ../ext/configure --with-php-config=/usr/bin/php-config7.1 > /dev/null \ + && make clean >/dev/null \ + && make >/dev/null 2>&1 \ + && make install \ + && docker-php-ext-enable cassandra \ +;fi + # Install Phalcon ext ARG INSTALL_PHALCON=false ARG PHALCON_VERSION diff --git a/workspace/Dockerfile b/workspace/Dockerfile index bdc0349..cbbeb2e 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -406,6 +406,37 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \ ;fi +########################################################################### +# CASSANDRA: +########################################################################### + +ARG INSTALL_CASSANDRA=false + +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + apt-get install libgmp-dev -y && \ + curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1-dev_1.28.0-1_amd64.deb -o libuv1-dev.deb && \ + curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1_1.28.0-1_amd64.deb -o libuv1.deb && \ + curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver-dev_2.12.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \ + curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver_2.12.0-1_amd64.deb -o cassandra-cpp-driver.deb && \ + dpkg -i libuv1.deb && \ + dpkg -i libuv1-dev.deb && \ + dpkg -i cassandra-cpp-driver.deb && \ + dpkg -i cassandra-cpp-driver-dev.deb && \ + rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \ + cd /usr/src && \ + git clone https://github.com/datastax/php-driver.git && \ + cd /usr/src/php-driver/ext && \ + phpize && \ + mkdir /usr/src/php-driver/build && \ + cd /usr/src/php-driver/build && \ + ../ext/configure > /dev/null && \ + make clean >/dev/null && \ + make >/dev/null 2>&1 && \ + make install && \ + echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \ + ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini \ +;fi + ########################################################################### # PHP REDIS EXTENSION ########################################################################### From 99ceef7b458973251d53c606eebf6277dcb0fe62 Mon Sep 17 00:00:00 2001 From: Stefan Neuhaus Date: Thu, 25 Jul 2019 08:08:01 +0200 Subject: [PATCH 021/470] Update documentation for Cassandra --- DOCUMENTATION/content/introduction/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 4874e43..143faa2 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -125,6 +125,7 @@ That's it! enjoy :) - Neo4j - CouchDB - RethinkDB + - Cassandra - **Database Management Apps:** From 4cb6ffc76655c8c70dc326f5f548d41cc2b37814 Mon Sep 17 00:00:00 2001 From: Stefan Neuhaus Date: Thu, 25 Jul 2019 08:14:50 +0200 Subject: [PATCH 022/470] Added Cassandra for testing CI --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d473177..8773aa3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,7 @@ env: - PHP_VERSION=NA BUILD_SERVICE=solr - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" - - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis" + - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis cassandra" - PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin" - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy" - PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server" From 044261b06fe461c5193581c9863531b06cc343df Mon Sep 17 00:00:00 2001 From: Stefan Neuhaus Date: Thu, 25 Jul 2019 12:03:21 +0200 Subject: [PATCH 023/470] Implement Gearman Message broker & PHP Extension --- .travis.yml | 2 +- DOCUMENTATION/content/introduction/index.md | 1 + docker-compose.yml | 36 +++++++++++++++ env-example | 50 ++++++++++++++++++++- gearman/Dockerfile | 5 +++ php-fpm/Dockerfile | 24 ++++++++++ php-worker/Dockerfile | 7 +++ workspace/Dockerfile | 12 +++++ 8 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 gearman/Dockerfile diff --git a/.travis.yml b/.travis.yml index 8773aa3..8d92a02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,7 @@ env: - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis cassandra" - PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin" - - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy" + - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy gearman" - PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server" - PHP_VERSION=NA BUILD_SERVICE="ipython-controller manticore" # - PHP_VERSION=NA BUILD_SERVICE="aws" diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 143faa2..48acd74 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -149,6 +149,7 @@ That's it! enjoy :) - Eclipse Mosquitto - PHP Worker - Laravel Horizon + - Gearman - **Mail Servers:** - Mailu diff --git a/docker-compose.yml b/docker-compose.yml index 6773264..6712fd4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -70,6 +70,7 @@ services: - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP} - INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA} + - INSTALL_GEARMAN=${WORKSPACE_INSTALL_GEARMAN} - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS} - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} @@ -157,6 +158,7 @@ services: - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} + - INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN} - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_GMP=${PHP_FPM_INSTALL_GMP} @@ -225,6 +227,7 @@ services: - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT} - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP} - INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA} + - INSTALL_GEARMAN=${PHP_WORKER_INSTALL_GEARMAN} - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT} - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE} - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} @@ -622,6 +625,39 @@ services: networks: - backend +### Gearman ############################################ + gearman: + build: ./gearman + ports: + - "${GEARMAN_PORT}:4730" + privileged: true + environment: + - GEARMAN_VERSION=${GEARMAN_VERSION} + - GEARMAN_VERBOSE=${GEARMAN_VERBOSE} + - GEARMAN_QUEUE_TYPE=${GEARMAN_QUEUE_TYPE} + - GEARMAN_THREADS=${GEARMAN_THREADS} + - GEARMAN_BACKLOG=${GEARMAN_BACKLOG} + - GEARMAN_FILE_DESCRIPTORS=${GEARMAN_FILE_DESCRIPTORS} + - GEARMAN_JOB_RETRIES=${GEARMAN_JOB_RETRIES} + - GEARMAN_ROUND_ROBIN=${GEARMAN_ROUND_ROBIN} + - GEARMAN_WORKER_WAKEUP=${GEARMAN_WORKER_WAKEUP} + - GEARMAN_KEEPALIVE=${GEARMAN_KEEPALIVE} + - GEARMAN_KEEPALIVE_IDLE=${GEARMAN_KEEPALIVE_IDLE} + - GEARMAN_KEEPALIVE_INTERVAL=${GEARMAN_KEEPALIVE_INTERVAL} + - GEARMAN_KEEPALIVE_COUNT=${GEARMAN_KEEPALIVE_COUNT} + - GEARMAN_MYSQL_HOST=${GEARMAN_MYSQL_HOST} + - GEARMAN_MYSQL_PORT=${GEARMAN_MYSQL_PORT} + - GEARMAN_MYSQL_USER=${GEARMAN_MYSQL_USER} + - GEARMAN_MYSQL_PASSWORD=${GEARMAN_MYSQL_PASSWORD} + - GEARMAN_MYSQL_PASSWORD_FILE=${GEARMAN_MYSQL_PASSWORD_FILE} + - GEARMAN_MYSQL_DB=${GEARMAN_MYSQL_DB} + - GEARMAN_MYSQL_TABLE=${GEARMAN_MYSQL_TABLE} + hostname: laradock-gearman + depends_on: + - php-fpm + networks: + - backend + ### Beanstalkd Console ################################### beanstalkd-console: build: ./beanstalkd-console diff --git a/env-example b/env-example index a4793a7..d8749d1 100644 --- a/env-example +++ b/env-example @@ -107,6 +107,7 @@ WORKSPACE_INSTALL_IMAP=false WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_AMQP=false WORKSPACE_INSTALL_CASSANDRA=false +WORKSPACE_INSTALL_GEARMAN=false WORKSPACE_INSTALL_MSSQL=false WORKSPACE_INSTALL_DRUSH=false WORKSPACE_DRUSH_VERSION=8.1.17 @@ -163,6 +164,7 @@ PHP_FPM_INSTALL_IMAP=false PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_AMQP=false PHP_FPM_INSTALL_CASSANDRA=false +PHP_FPM_INSTALL_GEARMAN=false PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_SSH2=false PHP_FPM_INSTALL_SOAP=false @@ -208,6 +210,7 @@ PHP_WORKER_INSTALL_TAINT=false PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_CASSANDRA=false +PHP_WORKER_INSTALL_GEARMAN=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 @@ -766,4 +769,49 @@ CASSANDRA_ENABLE_RPC=true # Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1. CASSANDRA_DATACENTER=dc1 # Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1. -CASSANDRA_RACK=rack1 \ No newline at end of file +CASSANDRA_RACK=rack1 + +### GEARMAN ################################################## + +# Gearman version to use. See available tags at https://hub.docker.com/r/artefactual/gearmand +GEARMAN_VERSION=latest +# Port to use (Default: 6379) +GEARMAN_PORT=6379 +# Logging Level (Default: INFO) +GEARMAN_VERBOSE=INFO +# Persistent queue type to use (Default: builtin) +GEARMAN_QUEUE_TYPE=builtin +# Number of I/O threads to use (Default: 4) +GEARMAN_THREADS=4 +# Number of backlog connections for listen (Default: 32) +GEARMAN_BACKLOG=32 +# Number of file descriptors to allow for the process (Default is max allowed for user) +GEARMAN_FILE_DESCRIPTORS= +# Number of attempts to run the job before the job server removes it. (Default: no limit = 0) +GEARMAN_JOB_RETRIES=0 +# Assign work in round-robin order per worker connection (Default: 0) +GEARMAN_ROUND_ROBIN=0 +# Number of workers to wakeup for each job received (Default: 0) +GEARMAN_WORKER_WAKEUP=0 +# Enable keepalive on sockets (Default: 0) +GEARMAN_KEEPALIVE=0 +# The duration between two keepalive transmissions in idle condition (Default: 30) +GEARMAN_KEEPALIVE_IDLE=30 +# The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received (Default: 10) +GEARMAN_KEEPALIVE_INTERVAL=10 +# The number of retransmissions to be carried out before declaring that remote end is not available (Default: 5) +GEARMAN_KEEPALIVE_COUNT=5 +# Mysql server host (Default: localhost) +GEARMAN_MYSQL_HOST=localhost +# Mysql server port (Default: 3306) +GEARMAN_MYSQL_PORT=3306 +# Mysql server user (Default: root) +GEARMAN_MYSQL_USER=root +# Mysql password +GEARMAN_MYSQL_PASSWORD= +# Path to file with mysql password(Docker secrets) +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 diff --git a/gearman/Dockerfile b/gearman/Dockerfile new file mode 100644 index 0000000..79a0e75 --- /dev/null +++ b/gearman/Dockerfile @@ -0,0 +1,5 @@ +ARG GEARMAN_VERSION=latest +FROM artefactual/gearmand:${GEARMAN_VERSION} + +LABEL maintainer="Stefan Neuhaus " + diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index a25e5f4..54207db 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -306,6 +306,30 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ docker-php-ext-install sockets \ ;fi +########################################################################### +# GEARMAN: +########################################################################### + +ARG INSTALL_GEARMAN=false + +RUN if [ ${INSTALL_GEARMAN} = true ]; then \ + apt-get update && \ + apt-get -y install libgearman-dev && \ + cd /tmp && \ + curl -L https://github.com/wcgallego/pecl-gearman/archive/gearman-2.0.5.zip -O && \ + unzip gearman-2.0.5.zip && \ + mv pecl-gearman-gearman-2.0.5 pecl-gearman && \ + cd /tmp/pecl-gearman && \ + phpize && \ + ./configure && \ + make -j$(nproc) && \ + make install && \ + cd / && \ + rm /tmp/gearman-2.0.5.zip && \ + rm -r /tmp/pecl-gearman && \ + docker-php-ext-enable gearman \ +;fi + ########################################################################### # pcntl ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index b8d482d..fdd527c 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -85,6 +85,13 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ docker-php-ext-install sockets \ ;fi +# Install Gearman: +ARG INSTALL_GEARMAN=false + +RUN if [ ${INSTALL_GEARMAN} = true ]; then \ + docker-php-ext-install gearman \ +;fi + # Install Cassandra drivers: ARG INSTALL_CASSANDRA=false RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ diff --git a/workspace/Dockerfile b/workspace/Dockerfile index cbbeb2e..06567f2 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -437,6 +437,18 @@ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini \ ;fi +########################################################################### +# Gearman: +########################################################################### + +ARG INSTALL_GEARMAN=false + +RUN if [ ${INSTALL_GEARMAN} = true ]; then \ + add-apt-repository -y ppa:ondrej/pkg-gearman && \ + apt-get update && \ + apt-get install php-gearman -y \ +;fi + ########################################################################### # PHP REDIS EXTENSION ########################################################################### From c4a99cce57da0d47632586c6ee73de9c59d7d9ab Mon Sep 17 00:00:00 2001 From: Zack Craig Date: Fri, 2 Aug 2019 09:02:52 -0400 Subject: [PATCH 024/470] Add en_US.UTF-8 to the default list of extra locales Feel free to decline this, but I thought maybe adding US English to the default list of extra locales may be beneficial? --- env-example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env-example b/env-example index 0e80c21..214b828 100644 --- a/env-example +++ b/env-example @@ -191,7 +191,7 @@ PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_FFMPEG=false -PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" +PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" ### PHP_WORKER ############################################ @@ -770,4 +770,4 @@ CASSANDRA_ENABLE_RPC=true # Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1. CASSANDRA_DATACENTER=dc1 # Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1. -CASSANDRA_RACK=rack1 \ No newline at end of file +CASSANDRA_RACK=rack1 From b2de93cc1ba10c06c39f5ff6cc58756c484e5960 Mon Sep 17 00:00:00 2001 From: Alec Joy Date: Sun, 4 Aug 2019 14:07:05 -0400 Subject: [PATCH 025/470] 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 a9aeb8a..55fbb1f 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 e4a4fc4..5374b8d 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 0e80c21..39dd35c 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 68a1933..bc74869 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 cbbeb2e..788244b 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 026/470] 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 55fbb1f..79d2e41 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 39dd35c..3861cd7 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 027/470] Typo in PHP version check --- workspace/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 788244b..c70be91 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 028/470] 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 bc74869..59d64b9 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 029/470] 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 59d64b9..527d9c4 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 030/470] 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 462b085..2b9bff3 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 68578ef..a7facd5 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 68a1933..183bd3c 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 0000000..4cf4976 --- /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 c3f32ec..42a7c9b 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 cbbeb2e..fa2ea64 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 0000000..6edaa13 --- /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 c3f32ec..42a7c9b 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 031/470] 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 42a7c9b..1fef058 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 42a7c9b..1fef058 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 032/470] 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 1fef058..9bc6578 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 1fef058..9bc6578 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 033/470] 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 183bd3c..d5aba61 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 034/470] 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 d5aba61..3b0b600 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 035/470] 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 e4a4fc4..c3e0125 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 0a992b9..9824175 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 036/470] 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 1a729e8..2d06b7f 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 6bc5a3f..cf0ab26 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 037/470] 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 e4a4fc4..9306d6d 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 038/470] 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 e4a4fc4..cf2c53c 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 76a4af3..f5d74ee 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 27dcec7..e769454 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 0fd26b6..6cc6b97 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 039/470] 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 d83b442..b98fe30 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 07c47f6..9ed17d1 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 0fd9d9d..09304a2 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 0fd26b6..baf8f22 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 237e39b40d11b56540803bd17bd73b7c48141fcc Mon Sep 17 00:00:00 2001 From: PeliCan <51474517+pelicancode@users.noreply.github.com> Date: Sat, 21 Sep 2019 15:56:09 +0200 Subject: [PATCH 040/470] MySql config file permissions fix Reason: [Warning] World-writable config file '/etc/mysql/docker-default.d/my.cnf' is ignored --- mysql/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql/Dockerfile b/mysql/Dockerfile index 3fe5bdc..03bb15c 100644 --- a/mysql/Dockerfile +++ b/mysql/Dockerfile @@ -13,6 +13,8 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone & COPY my.cnf /etc/mysql/conf.d/my.cnf +RUN chmod 0444 /etc/mysql/conf.d/my.cnf + CMD ["mysqld"] EXPOSE 3306 From a0365437c55c8bf460c356c95b0a671ad299180f Mon Sep 17 00:00:00 2001 From: Miguel Ortiz Date: Mon, 23 Sep 2019 20:03:43 -0500 Subject: [PATCH 041/470] Apache2 certificate location settings --- .gitignore | 7 ++++++- apache2/ssl/.gitkeep | 0 docker-compose.yml | 1 + env-example | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 apache2/ssl/.gitkeep diff --git a/.gitignore b/.gitignore index 0673206..4248551 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,9 @@ /nginx/ssl/*.key /nginx/ssl/*.csr -.DS_Store \ No newline at end of file +/apache2/ssl/*.crt +/apache2/ssl/*.key +/apache2/ssl/*.csr +/apache2/ssl/*.org + +.DS_Store diff --git a/apache2/ssl/.gitkeep b/apache2/ssl/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml index 07c47f6..b55a9ca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -313,6 +313,7 @@ services: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APACHE_HOST_LOG_PATH}:/var/log/apache2 - ${APACHE_SITES_PATH}:/etc/apache2/sites-available + - ${APACHE_SSL_PATH}:/etc/apache2/ssl ports: - "${APACHE_HOST_HTTP_PORT}:80" - "${APACHE_HOST_HTTPS_PORT}:443" diff --git a/env-example b/env-example index 0fd9d9d..1148e30 100644 --- a/env-example +++ b/env-example @@ -233,6 +233,7 @@ APACHE_HOST_HTTP_PORT=80 APACHE_HOST_HTTPS_PORT=443 APACHE_HOST_LOG_PATH=./logs/apache2 APACHE_SITES_PATH=./apache2/sites +APACHE_SSL_PATH=./apache2/ssl APACHE_PHP_UPSTREAM_CONTAINER=php-fpm APACHE_PHP_UPSTREAM_PORT=9000 APACHE_PHP_UPSTREAM_TIMEOUT=60 From da040d7b02ab7e20f051736592e6b71b0b3c6cd6 Mon Sep 17 00:00:00 2001 From: Miguel Ortiz Date: Mon, 23 Sep 2019 20:12:03 -0500 Subject: [PATCH 042/470] Swagger implementation to document Rest APIs --- docker-compose.yml | 18 ++++++++++++++++++ env-example | 9 +++++++++ swagger-editor/Dockerfile | 3 +++ swagger-ui/Dockerfile | 3 +++ 4 files changed, 33 insertions(+) create mode 100644 swagger-editor/Dockerfile create mode 100644 swagger-ui/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index b55a9ca..dbc010c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1577,3 +1577,21 @@ services: - postgres volumes: - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data + +### SWAGGER EDITOR ############################################ + swagger-editor: + build: ./swagger-editor + ports: + - ${SWAGGER_EDITOR_PORT}:8080 + networks: + - backend + +### SWAGGER UI ################################################ + swagger-ui: + build: ./swagger-ui + environment: + - API_URL=${SWAGGER_API_URL} + ports: + - ${SWAGGER_UI_PORT}:8080 + networks: + - backend \ No newline at end of file diff --git a/env-example b/env-example index 1148e30..51dc687 100644 --- a/env-example +++ b/env-example @@ -725,6 +725,15 @@ PGADMIN_PORT=5050 PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org PGADMIN_DEFAULT_PASSWORD=admin +### SWAGGER EDITOR ########################################### + +SWAGGER_EDITOR_PORT=5151 + +### SWAGGER UI ############################################### + +SWAGGER_API_URL=http://generator.swagger.io/api/swagger.json +SWAGGER_UI_PORT=5555 + ### SONARQUBE ################################################ ## docker-compose up -d sonarqube ## (If you encounter a database error) diff --git a/swagger-editor/Dockerfile b/swagger-editor/Dockerfile new file mode 100644 index 0000000..f151dfe --- /dev/null +++ b/swagger-editor/Dockerfile @@ -0,0 +1,3 @@ +FROM swaggerapi/swagger-editor:latest + +LABEL maintainer="Miguel Ortiz " diff --git a/swagger-ui/Dockerfile b/swagger-ui/Dockerfile new file mode 100644 index 0000000..0f8c6fd --- /dev/null +++ b/swagger-ui/Dockerfile @@ -0,0 +1,3 @@ +FROM swaggerapi/swagger-ui:latest + +LABEL maintainer="Miguel Ortiz " From c6a8e5495d9b9c2b8e74eae77ec8e77dd1da57a7 Mon Sep 17 00:00:00 2001 From: Miguel Ortiz Date: Mon, 23 Sep 2019 20:14:32 -0500 Subject: [PATCH 043/470] Add nginx example for nodejs --- nginx/sites/laravel.conf.example | 6 ++++ nginx/sites/node.conf.example | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 nginx/sites/node.conf.example diff --git a/nginx/sites/laravel.conf.example b/nginx/sites/laravel.conf.example index c30bf8a..c9ba2d9 100644 --- a/nginx/sites/laravel.conf.example +++ b/nginx/sites/laravel.conf.example @@ -1,3 +1,9 @@ +#server { +# listen 80; +# server_name laravel.com.co; +# return 301 https://laravel.com.co$request_uri; +#} + server { listen 80; diff --git a/nginx/sites/node.conf.example b/nginx/sites/node.conf.example new file mode 100644 index 0000000..6fe0c75 --- /dev/null +++ b/nginx/sites/node.conf.example @@ -0,0 +1,47 @@ +#server { +# listen 80; +# server_name node.com.co; +# return 301 https://node.com.co$request_uri; +#} + +server { + + listen 80; + listen [::]:80; + + #listen 443; + #listen [::]:443; + + server_name node.com.co; + + #ssl on; + #ssl_certificate /var/certs/node.com.co/cert.pem; + #ssl_certificate_key /var/certs/node.com.co/privkey.pem; + #ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; + #ssl_ciphers HIGH:!aNULL:!MD5; + + + location / { + proxy_pass http://node.com.co:3001; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_cache_bypass $http_upgrade; + } + + location ~ /\.ht { + deny all; + } + + location /.well-known/acme-challenge/ { + root /var/www/letsencrypt/; + log_not_found off; + } + + error_log /var/log/nginx/node.com.co.local_error.log; + access_log /var/log/nginx/node.com.co.local_access.log; +} From 6139805561f7e333d22902ab44e74763cbeea38c Mon Sep 17 00:00:00 2001 From: Rex Tsou Date: Mon, 30 Sep 2019 13:59:03 +0800 Subject: [PATCH 044/470] Fix README.md maintainers links --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ddb90d8..3e794ff 100644 --- a/README.md +++ b/README.md @@ -53,28 +53,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 @@ -83,35 +83,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 @@ -120,28 +120,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 From 67c5a6a55209de49747a72ca4e3cde2e6a4e81db Mon Sep 17 00:00:00 2001 From: haoyq Date: Mon, 30 Sep 2019 17:10:56 +0800 Subject: [PATCH 045/470] php-worker install redis extension --- docker-compose.yml | 1 + env-example | 1 + php-worker/Dockerfile | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 07c47f6..1bb6a70 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -231,6 +231,7 @@ services: - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} + - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS} - PUID=${PHP_WORKER_PUID} - PGID=${PHP_WORKER_PGID} volumes: diff --git a/env-example b/env-example index 0fd9d9d..ad5a4e1 100644 --- a/env-example +++ b/env-example @@ -208,6 +208,7 @@ PHP_WORKER_INSTALL_TAINT=false PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_CASSANDRA=false +PHP_WORKER_INSTALL_REDIS=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index b2e496f..855cd32 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -134,6 +134,14 @@ RUN if [ ${INSTALL_GMP} = true ]; then \ RUN rm /var/cache/apk/* \ && mkdir -p /var/www +# Install Redis package: +ARG INSTALL_REDIS=false +RUN if [ ${INSTALL_REDIS} = true ]; then \ + # Install Redis Extension + printf "\n" | pecl install -o -f redis \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable redis \ +;fi ########################################################################### # Swoole EXTENSION From 3f9b888139a2811c65842d492bf8ce2817687a50 Mon Sep 17 00:00:00 2001 From: William Ono Date: Mon, 30 Sep 2019 16:08:09 -0700 Subject: [PATCH 046/470] 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 07c47f6..53dee76 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 0fd9d9d..b454fec 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 3e39d2e..4a0fcc8 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 902e041f7beb067400eb601c847724d7dddd5186 Mon Sep 17 00:00:00 2001 From: Aaron Stone Date: Wed, 2 Oct 2019 11:57:23 -0700 Subject: [PATCH 047/470] Use released versions of memcached extension --- php-fpm/Dockerfile | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 3e39d2e..99a7beb 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -364,21 +364,10 @@ ARG INSTALL_MEMCACHED=false RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ # Install the php memcached extension if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ - curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \ + pecl install memcached-2.2.0 else \ - curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/master.tar.gz"; \ - fi \ - && mkdir -p memcached \ - && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ - && ( \ - cd memcached \ - && phpize \ - && ./configure \ - && make -j$(nproc) \ - && make install \ - ) \ - && rm -r memcached \ - && rm /tmp/memcached.tar.gz \ + pecl install memcached-3.1.3 + fi && docker-php-ext-enable memcached \ ;fi From 4dcef17515e4e19b35cb5b144c1f4fe0ff09fe9d Mon Sep 17 00:00:00 2001 From: Andrey Barashkov Date: Fri, 4 Oct 2019 23:55:56 +0300 Subject: [PATCH 048/470] Update README.md Fix link to Maintainers profile --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ddb90d8..3e794ff 100644 --- a/README.md +++ b/README.md @@ -53,28 +53,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 @@ -83,35 +83,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 @@ -120,28 +120,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 From 54a29b178af433f4e50afcb700cca76cf5218502 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Mon, 7 Oct 2019 10:49:11 +0800 Subject: [PATCH 049/470] php-worker: move clean up step to right palce (#2315) --- php-worker/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 855cd32..cf1ace7 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -130,10 +130,6 @@ RUN if [ ${INSTALL_GMP} = true ]; then \ && docker-php-ext-install gmp \ ;fi - -RUN rm /var/cache/apk/* \ - && mkdir -p /var/www - # Install Redis package: ARG INSTALL_REDIS=false RUN if [ ${INSTALL_REDIS} = true ]; then \ @@ -213,4 +209,8 @@ RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}." #-------------------------------------------------------------------------- # +# Clean up +RUN rm /var/cache/apk/* \ + && mkdir -p /var/www + WORKDIR /etc/supervisor/conf.d/ From 8755e445d94178109d91bd33180b03753548025a Mon Sep 17 00:00:00 2001 From: Edwin Hui Date: Mon, 7 Oct 2019 11:18:44 +0800 Subject: [PATCH 050/470] CHANGE_SOURCE arg missing for php-fpm (#2311) --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index aecd591..00e8033 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -146,6 +146,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} From 25f883fc993a6e2f1ac3dd8af72bc163271b28c6 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Mon, 7 Oct 2019 16:19:19 +0800 Subject: [PATCH 051/470] laravel-horizon: fix memcached (#2316) Fix #2278 --- laravel-horizon/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 766b245..5ce1d8e 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -87,7 +87,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \ else \ - curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \ + curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/v3.1.3.tar.gz"; \ fi \ && mkdir -p memcached \ && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ From 4af8ac8f53a70ea419452ee7af5dece0fa733dca Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Mon, 7 Oct 2019 17:06:09 +0800 Subject: [PATCH 052/470] fix syntex error (#2317) * fix syntex error cause by #2309 --- php-fpm/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index faa0d59..2617dbe 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -364,10 +364,10 @@ ARG INSTALL_MEMCACHED=false RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ # Install the php memcached extension if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ - pecl install memcached-2.2.0 + pecl install memcached-2.2.0; \ else \ - pecl install memcached-3.1.3 - fi + pecl install memcached-3.1.3; \ + fi \ && docker-php-ext-enable memcached \ ;fi From b7b468765ac0fcf19b5c7065e24f3ea0d3134b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Tue, 8 Oct 2019 09:11:02 -0300 Subject: [PATCH 053/470] Add sample configuration for Visual Studio Code Remote Development on Containers. --- .devcontainer/devcontainer.example.json | 9 +++++++++ .gitignore | 5 ++++- DOCUMENTATION/content/guides/index.md | 10 ++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.example.json diff --git a/.devcontainer/devcontainer.example.json b/.devcontainer/devcontainer.example.json new file mode 100644 index 0000000..4be22f7 --- /dev/null +++ b/.devcontainer/devcontainer.example.json @@ -0,0 +1,9 @@ +{ + "name": "Laradock", + "dockerComposeFile": ["../docker-compose.yml"], + "runServices": ["nginx", "postgres", "pgadmin"], + "service": "workspace", + "workspaceFolder": "/var/www", + "shutdownAction": "stopCompose", + "postCreateCommand": "uname -a" +} diff --git a/.gitignore b/.gitignore index 0673206..06eccb5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,7 @@ /nginx/ssl/*.key /nginx/ssl/*.csr -.DS_Store \ No newline at end of file +/.devcontainer/* +!/.devcontainer/devcontainer.example.json + +.DS_Store diff --git a/DOCUMENTATION/content/guides/index.md b/DOCUMENTATION/content/guides/index.md index 9ffd014..ab8c9c7 100644 --- a/DOCUMENTATION/content/guides/index.md +++ b/DOCUMENTATION/content/guides/index.md @@ -70,6 +70,16 @@ If you want to only execute some command and don't want to enter bash, you can e 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. From 3cb43e613925ebe3278578562a7cec514859f298 Mon Sep 17 00:00:00 2001 From: Fernando Larios Date: Tue, 8 Oct 2019 13:35:55 -0600 Subject: [PATCH 054/470] 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 896adb5..a3f4f2d 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 1b71479..f3afab7 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 d74ef34..f03f696 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 6764a88fe630b5ca1c53c4c630a9c58c4958253f Mon Sep 17 00:00:00 2001 From: Alone <794000949@qq.com> Date: Wed, 16 Oct 2019 18:18:03 +0800 Subject: [PATCH 057/470] 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 896adb5..8d679ba 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 1b71479..c8618f4 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 f413e90..6081ebd 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 70e63c59d0ba01f3ca4c20041870802aa0dad7e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=85=8B?= Date: Sun, 20 Oct 2019 17:16:25 +0800 Subject: [PATCH 058/470] Fix localhost address --- DOCUMENTATION/content/getting-started/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index f71661d..9e75695 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -221,8 +221,12 @@ Or you can change them and rebuild the container.
5 - Open your browser and visit your localhost address. +Make sure you add use the right port number as provided by your running server. + +[http://localhost:80](http://localhost:80) + If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`. -[http://localhost:8080](http://localhost:8080) -Make sure you add use the right port number as provided by your running server. Ex: NGINX uses port 8080 by default while Apache2 uses 80. + + From 1673c441362524d97eaa5a912617356200f1ddb1 Mon Sep 17 00:00:00 2001 From: Tomoya Suzuki Date: Fri, 25 Oct 2019 18:15:41 +0900 Subject: [PATCH 059/470] 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 d74ef34..a19390d 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 1b010b9..2a62fed 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 ef9eee2defacfeaba343a9130602ed7f09791d7b Mon Sep 17 00:00:00 2001 From: Mike Hingley Date: Fri, 25 Oct 2019 16:45:46 +0100 Subject: [PATCH 060/470] fix slight typo --- 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 d83b442..e3ebbcb 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -650,7 +650,7 @@ docker-compose up -d metabase 1) Boot the container `docker-compose up -d jenkins`. To enter the container type `docker-compose exec jenkins bash`. -2) Go to `http://localhost:8090/` (if you didn't chanhed your default port mapping) +2) Go to `http://localhost:8090/` (if you didn't change your default port mapping) 3) Authenticate from the web app. From f5c00c61bed2358a293e7ff4e838e4f2904fde3b Mon Sep 17 00:00:00 2001 From: Mike Hingley Date: Fri, 25 Oct 2019 17:12:59 +0100 Subject: [PATCH 061/470] Update Confluence section The original text was confusing. Refactored to attempt to make more sense. --- 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 e3ebbcb..d2b91fb 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1054,7 +1054,7 @@ 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. +**Note:** Confluence is a licensed application - an evaluation licence can be obtained from Atlassian. You can set custom confluence version in `CONFLUENCE_VERSION`. [Find more info in section 'Versioning'](https://hub.docker.com/r/atlassian/confluence-server/) From 7247d8f7cef1c71595c08b5f1bcf3d14cba12b9a Mon Sep 17 00:00:00 2001 From: Lukas Besch Date: Fri, 25 Oct 2019 18:15:40 +0200 Subject: [PATCH 062/470] Install default-mysql-client for PHP 7.3 (#2329) Install default-mysql-client for PHP 7.3 --- php-fpm/Dockerfile | 6 +++++- php-worker/Dockerfile | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d74ef34..69e8374 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -708,7 +708,11 @@ ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ apt-get update -yqq && \ - apt-get -y install mysql-client \ + if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ + apt-get -y install default-mysql-client \ + ;else \ + apt-get -y install mysql-client \ + ;fi \ ;fi ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index ac0c140..9bccca0 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -66,7 +66,11 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - apk --update add mysql-client \ + if [ ${PHP_VERSION} = "7.3" ]; then \ + apk --update add default-mysql-client \ + ;else \ + apk --update add mysql-client \ + ;fi \ ;fi # Install FFMPEG: From 0ac954b0974db60b51256243de6b3306a40c2819 Mon Sep 17 00:00:00 2001 From: Mike Hingley Date: Fri, 25 Oct 2019 18:18:22 +0100 Subject: [PATCH 063/470] updating docs Attempting to replace some of the mark-up with more semantically correct (using ordered lists etc) Fixed some seplling, grammar errors. --- DOCUMENTATION/content/documentation/index.md | 683 ++++++++----------- 1 file changed, 285 insertions(+), 398 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d2b91fb..b0e8c8f 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -217,9 +217,9 @@ The PHP-CLI extensions should be installed in `workspace/Dockerfile`.
## Change the (PHP-FPM) Version -By default the latest stable PHP versin is configured to run. +By default, the latest stable PHP version is configured to run. ->The PHP-FPM is responsible of serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version. +>The PHP-FPM is responsible for serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version. ### A) Switch from PHP `7.2` to PHP `5.6` @@ -253,7 +253,7 @@ docker-compose build php-fpm >Note: it's not very essential to edit the PHP-CLI version. The PHP-CLI is only used for the Artisan Commands & Composer. It doesn't serve your Application code, this is the PHP-FPM job. -The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in te .env file as follow: +The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in the .env file as follow: 1 - Open the `.env`. @@ -274,7 +274,7 @@ docker-compose build workspace - +Change the PHP-CLI Version
@@ -294,7 +294,7 @@ e) set it to `true` 2 - Re-build the containers `docker-compose build workspace php-fpm` -For information on how to configure xDebug with your IDE and work it out, check this [Repository](https://github.com/LarryEitel/laravel-laradock-phpstorm) or follow up on the next section if you use linux and PhpStorm. +For information on how to configure xDebug with your IDE and work it out, check this [Repository](https://github.com/LarryEitel/laravel-laradock-phpstorm) or follow up on the next section if you use Linux and PhpStorm. @@ -426,11 +426,11 @@ docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/son ## Prepare Laradock for Production -It's recommended for production to create a custom `docker-compose.yml` file, for example `production-docker-compose.yml` +It's recommended for production to create a custom `docker-compose.yml` file, for example, `production-docker-compose.yml` -In your new production `docker-compose.yml` file you should contain only the containers you are planning to run in production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`). +In your new production `docker-compose.yml` file, you should include only the containers you are planning to run in production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`). -Note: The Database (MySQL/MariaDB/...) ports should not be forwarded on production, because Docker will automatically publish the port on the host, which is quite insecure, unless specifically told not to. So make sure to remove these lines: +Note: The Database (MySQL/MariaDB/...) ports should not be forwarded on production, because Docker will automatically publish the port on the host unless specifically told not to. Forwarding these ports on production is quite insecure - so make sure to remove these lines: ``` ports: @@ -551,7 +551,7 @@ phpunit ## Run Laravel Queue Worker -1 - 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` +1 - Create a suitable configuration file (for example named `laravel-worker.conf`) for Laravel Queue Worker in `php-worker/supervisord.d/` by simply copying from `laravel-worker.conf.example` 2 - Start everything up @@ -569,38 +569,29 @@ docker-compose up -d php-worker ## Run Laravel Scheduler Laradock provides 2 ways to run Laravel Scheduler -1 - Using cron in workspace container. Most of the time, when you start Laradock, it'll automatically start workspace container with cron inside, along with setting to run `schedule:run` command every minute. - -2 - Using Supervisord in php-worker to run `schedule:run`. This way is suggested when you don't want to start workspace in production environment. -
-a) Comment out cron setting in workspace container, file `workspace/crontab/laradock` - -```bash -# * * * * * laradock /usr/bin/php /var/www/artisan schedule:run >> /dev/null 2>&1 -``` -
-b) Create supervisor configuration file (for ex., named `laravel-scheduler.conf`) for Laravel Scheduler in `php-worker/supervisord.d/` by simply copy from `laravel-scheduler.conf.example` -
-c) Start php-worker container - -```bash -docker-compose up -d php-worker -``` - - - - - +1. Using cron in workspace container. +Most of the time, when you start Laradock, it'll automatically start workspace container with cron inside, along with setting to run `schedule:run` command every minute. +2. Using Supervisord in php-worker to run `schedule:run`. +This way is suggested when you don't want to start workspace in production environment. + * Comment out cron setting in workspace container, file `workspace/crontab/laradock` + ```bash + # * * * * * laradock /usr/bin/php /var/www/artisan schedule:run >> /dev/null 2>&1 + ``` + * Create a suitable configuration file (for ex., named `laravel-scheduler.conf`) for Laravel Scheduler in `php-worker/supervisord.d/` by simply copying from `laravel-scheduler.conf.example` + * Start php-worker container + ```bash + docker-compose up -d php-worker + ```
## Use Mailu -1 - You need register a domain. +1. You will need a registered domain. -2 - Required RECAPTCHA for signup email [HERE](https://www.google.com/recaptcha/admin) +2. Required RECAPTCHA for signup email [HERE](https://www.google.com/recaptcha/admin) -2 - modify following environment variable in `.env` file +3. Modify following environment variable in `.env` file ``` MAILU_RECAPTCHA_PUBLIC_KEY= @@ -609,36 +600,32 @@ MAILU_DOMAIN=laradock.io MAILU_HOSTNAMES=mail.laradock.io ``` -2 - Open your browser and visit `http://YOUR_DOMAIN`. - - +4. Open your browser and visit `http://YOUR_DOMAIN`.
## Use NetData -1 - Run the NetData Container (`netdata`) with the `docker-compose up` command. Example: +1. Run the NetData Container (`netdata`) with the `docker-compose up` command. Example: ```bash docker-compose up -d netdata ``` -2 - Open your browser and visit the localhost on port **19999**: `http://localhost:19999` +2. Open your browser and visit the localhost on port **19999**: `http://localhost:19999`
## Use Metabase -1 - Run the Metabase Container (`metbase`) with the `docker-compose up` command. Example: +1. Run the Metabase Container (`metabase`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d metabase + ``` +2. Open your browser and visit the localhost on port **3030**: `http://localhost:3030` -```bash -docker-compose up -d metabase -``` - -2 - Open your browser and visit the localhost on port **3030**: `http://localhost:3030` - -3 - You can use environment to configure Metabase container. See docs in: [Running Metabase on Docker](https://www.metabase.com/docs/v0.12.0/operations-guide/running-metabase-on-docker.html) +3. You can use environment to configure Metabase container. See docs in: [Running Metabase on Docker](https://www.metabase.com/docs/v0.12.0/operations-guide/running-metabase-on-docker.html) @@ -676,52 +663,40 @@ You may wanna change the default security configuration, so go to `http://localh ## Use Redis -1 - First make sure you run the Redis Container (`redis`) with the `docker-compose up` command. +1. First make sure you run the Redis Container (`redis`) with the `docker-compose up` command. + ```bash + docker-compose up -d redis + ``` + > To execute redis commands, enter the redis container first `docker-compose exec redis bash` then enter the `redis-cli`. -```bash -docker-compose up -d redis -``` - -> To execute redis commands, enter the redis container first `docker-compose exec redis bash` then enter the `redis-cli`. - -2 - Open your Laravel's `.env` file and set the `REDIS_HOST` to `redis` - -```env -REDIS_HOST=redis -``` - -If you're using Laravel, and you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this: - -```php -'redis' => [ - 'cluster' => false, - 'default' => [ - 'host' => 'redis', - 'port' => 6379, - 'database' => 0, +2. Open your Laravel's `.env` file and set the `REDIS_HOST` to `redis` + ```env + REDIS_HOST=redis + ``` + If you're using Laravel, and you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this: + ```php + 'redis' => [ + 'cluster' => false, + 'default' => [ + 'host' => 'redis', + 'port' => 6379, + 'database' => 0, + ], ], -], -``` - -3 - To enable Redis Caching and/or for Sessions Management. Also from the `.env` file set `CACHE_DRIVER` and `SESSION_DRIVER` to `redis` instead of the default `file`. - -```env -CACHE_DRIVER=redis -SESSION_DRIVER=redis -``` - -4 - Finally make sure you have the `predis/predis` package `(~1.0)` installed via Composer: - -```bash -composer require predis/predis:^1.0 -``` - -5 - You can manually test it from Laravel with this code: - -```php -\Cache::store('redis')->put('Laradock', 'Awesome', 10); -``` - + ``` +3. To enable Redis Caching and/or for Sessions Management. Also from the `.env` file set `CACHE_DRIVER` and `SESSION_DRIVER` to `redis` instead of the default `file`. + ```env + CACHE_DRIVER=redis + SESSION_DRIVER=redis + ``` +4. Finally make sure you have the `predis/predis` package `(~1.0)` installed via Composer: + ```bash + composer require predis/predis:^1.0 + ``` +5. You can manually test it from Laravel with this code: + ```php + \Cache::store('redis')->put('Laradock', 'Awesome', 10); + ``` @@ -730,36 +705,30 @@ composer require predis/predis:^1.0
## Use Redis Cluster - -1 - First make sure you run the Redis-Cluster Container (`redis-cluster`) with the `docker-compose up` command. - -```bash -docker-compose up -d redis-cluster -``` - -2 - Open your Laravel's `config/database.php` and set the redis cluster configuration. Below is example configuration with phpredis. - -Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#configuration) for more details. - -```php -'redis' => [ - 'client' => 'phpredis', - 'options' => [ - 'cluster' => 'redis', - ], - 'clusters' => [ - 'default' => [ - [ - 'host' => 'redis-cluster', - 'password' => null, - 'port' => 7000, - 'database' => 0, +1. First make sure you run the Redis-Cluster Container (`redis-cluster`) with the `docker-compose up` command. + ```bash + docker-compose up -d redis-cluster + ``` +2. Open your Laravel's `config/database.php` and set the redis cluster configuration. Below is example configuration with phpredis. + Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#configuration) for more details. + ```php + 'redis' => [ + 'client' => 'phpredis', + 'options' => [ + 'cluster' => 'redis', + ], + 'clusters' => [ + 'default' => [ + [ + 'host' => 'redis-cluster', + 'password' => null, + 'port' => 7000, + 'database' => 0, + ], ], ], ], -], -``` - + ``` @@ -768,71 +737,51 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con
## Use Mongo - -1 - First install `mongo` in the Workspace and the PHP-FPM Containers: -
-a) open the `.env` file -
-b) search for the `WORKSPACE_INSTALL_MONGO` argument under the Workspace Container -
-c) set it to `true` -
-d) search for the `PHP_FPM_INSTALL_MONGO` argument under the PHP-FPM Container -
-e) set it to `true` - -2 - Re-build the containers `docker-compose build workspace php-fpm` - - - -3 - Run the MongoDB Container (`mongo`) with the `docker-compose up` command. - -```bash -docker-compose up -d mongo -``` - - -4 - Add the MongoDB configurations to the `config/database.php` configuration file: - -```php -'connections' => [ - - 'mongodb' => [ - 'driver' => 'mongodb', - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', 27017), - 'database' => env('DB_DATABASE', 'database'), - 'username' => '', - 'password' => '', - 'options' => [ - 'database' => '', - ] +1. First install `mongo` in the Workspace and the PHP-FPM Containers: + * open the `.env` file + * search for the `WORKSPACE_INSTALL_MONGO` argument under the Workspace Container + * set it to `true` + * search for the `PHP_FPM_INSTALL_MONGO` argument under the PHP-FPM Container + * set it to `true` +2. Re-build the containers + * `docker-compose build workspace php-fpm` +3. Run the MongoDB Container (`mongo`) with the `docker-compose up` command. + ```bash + docker-compose up -d mongo + ``` +4. Add the MongoDB configurations to the `config/database.php` configuration file: + ```php + 'connections' => [ + + 'mongodb' => [ + 'driver' => 'mongodb', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', 27017), + 'database' => env('DB_DATABASE', 'database'), + 'username' => '', + 'password' => '', + 'options' => [ + 'database' => '', + ] + ], + + // ... + ], - - // ... - -], -``` - -5 - Open your Laravel's `.env` file and update the following variables: - -- set the `DB_HOST` to your `mongo`. -- set the `DB_PORT` to `27017`. -- set the `DB_DATABASE` to `database`. - - -6 - Finally make sure you have the `jenssegers/mongodb` package installed via Composer and its Service Provider is added. - -```bash -composer require jenssegers/mongodb -``` -More details about this [here](https://github.com/jenssegers/laravel-mongodb#installation). - -7 - Test it: - -- First let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). -- Enter the Workspace Container. -- Migrate the Database `php artisan migrate`. + ``` +5. Open your Laravel's `.env` file and update the following variables: + - set the `DB_HOST` to your `mongo`. + - set the `DB_PORT` to `27017`. + - set the `DB_DATABASE` to `database`. +6. Finally make sure you have the `jenssegers/mongodb` package installed via Composer and its Service Provider is added. + ```bash + composer require jenssegers/mongodb + ``` + More details about this [here](https://github.com/jenssegers/laravel-mongodb#installation). +7. Test it: + - First let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). + - Enter the Workspace Container. + - Migrate the Database `php artisan migrate`. @@ -842,20 +791,16 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins
## Use PhpMyAdmin +1. Run the phpMyAdmin Container (`phpmyadmin`) with the `docker-compose up` command. + ```bash + # use with mysql + docker-compose up -d mysql phpmyadmin -1 - Run the phpMyAdmin Container (`phpmyadmin`) with the `docker-compose up` command. Example: - -```bash -# use with mysql -docker-compose up -d mysql phpmyadmin - -# use with mariadb -docker-compose up -d mariadb phpmyadmin -``` - -*Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.* - -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` + # use with mariadb + docker-compose up -d mariadb phpmyadmin + ``` + *Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.* +2. Open your browser and visit the localhost on port **8080**: `http://localhost:8080` @@ -865,15 +810,11 @@ docker-compose up -d mariadb phpmyadmin
## Use Gitlab - -1 - Run the Gitlab Container (`gitlab`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d gitlab -``` - -2 - Open your browser and visit the localhost on port **8989**: `http://localhost:8989` -
+1. Run the Gitlab Container (`gitlab`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d gitlab + ``` +2. Open your browser and visit the localhost on port **8989**: `http://localhost:8989` *Note: You may change GITLAB_DOMAIN_NAME to your own domain name like `http://gitlab.example.com` default is `http://localhost`* @@ -884,58 +825,48 @@ docker-compose up -d gitlab
## Use Gitlab Runner +1. Retrieve the registration token in your gitlab project (Settings > CI / CD > Runners > Set up a specific Runner manually) +2. Open the `.env` file and set the following changes: + ``` + # so that gitlab container will pass the correct domain to gitlab-runner container + GITLAB_DOMAIN_NAME=http://gitlab -1 - Retrieve the registration token in your gitlab project (Settings > CI / CD > Runners > Set up a specific Runner manually) + GITLAB_RUNNER_REGISTRATION_TOKEN= -2 - Open the `.env` file and set the following changes: -``` -# so that gitlab container will pass the correct domain to gitlab-runner container -GITLAB_DOMAIN_NAME=http://gitlab + # so that gitlab-runner container will send POST request for registration to correct domain + GITLAB_CI_SERVER_URL=http://gitlab + ``` +3. Open the `docker-compose.yml` file and add the following changes: + ```yml + gitlab-runner: + environment: # these values will be used during `gitlab-runner register` + - RUNNER_EXECUTOR=docker # change from shell (default) + - DOCKER_IMAGE=alpine + - DOCKER_NETWORK_MODE=laradock_backend + networks: + - backend # connect to network where gitlab service is connected + ``` +4. Run the Gitlab-Runner Container (`gitlab-runner`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d gitlab-runner + ``` +5. Register the gitlab-runner to the gitlab container + ```bash + docker-compose exec gitlab-runner bash + gitlab-runner register + ``` -GITLAB_RUNNER_REGISTRATION_TOKEN= - -# so that gitlab-runner container will send POST request for registration to correct domain -GITLAB_CI_SERVER_URL=http://gitlab -``` - -3 - Open the `docker-compose.yml` file and add the following changes: -```yml - gitlab-runner: - environment: # these values will be used during `gitlab-runner register` - - RUNNER_EXECUTOR=docker # change from shell (default) - - DOCKER_IMAGE=alpine - - DOCKER_NETWORK_MODE=laradock_backend - networks: - - backend # connect to network where gitlab service is connected -``` - -4 - Run the Gitlab-Runner Container (`gitlab-runner`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d gitlab-runner -``` - -5 - Register the gitlab-runner to the gitlab container - -```bash -docker-compose exec gitlab-runner bash -gitlab-runner register -``` - -6 - Create a `.gitlab-ci.yml` file for your pipeline - -```yml -before_script: - - echo Hello! - -job1: - scripts: - - echo job1 -``` - -7 - Push changes to gitlab - -8 - Verify that pipeline is run successful +6. Create a `.gitlab-ci.yml` file for your pipeline + ```yml + before_script: + - echo Hello! + + job1: + scripts: + - echo job1 + ``` +7. Push changes to gitlab +8. Verify that pipeline is run successful @@ -945,14 +876,11 @@ job1:
## Use Adminer - -1 - Run the Adminer Container (`adminer`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d adminer -``` - -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` +1. Run the Adminer Container (`adminer`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d adminer + ``` +2. Open your browser and visit the localhost on port **8080**: `http://localhost:8080` **Note:** We've locked Adminer to version 4.3.0 as at the time of writing [it contained a major bug](https://sourceforge.net/p/adminer/bugs-and-features/548/) preventing PostgreSQL users from logging in. If that bug is fixed (or if you're not using PostgreSQL) feel free to set Adminer to the latest version within [the Dockerfile](https://github.com/laradock/laradock/blob/master/adminer/Dockerfile#L1): `FROM adminer:latest` @@ -964,14 +892,11 @@ docker-compose up -d adminer
## Use Portainer - -1 - Run the Portainer Container (`portainer`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d portainer -``` - -2 - Open your browser and visit the localhost on port **9010**: `http://localhost:9010` +1. Run the Portainer Container (`portainer`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d portainer + ``` +2. Open your browser and visit the localhost on port **9010**: `http://localhost:9010` @@ -981,21 +906,14 @@ docker-compose up -d portainer
## Use PgAdmin - -1 - Run the pgAdmin Container (`pgadmin`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d postgres pgadmin -``` - -2 - Open your browser and visit the localhost on port **5050**: `http://localhost:5050` - - -3 - At login page use default credentials: - -Username : pgadmin4@pgadmin.org - -Password : admin +1. Run the pgAdmin Container (`pgadmin`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d postgres pgadmin + ``` +2. Open your browser and visit the localhost on port **5050**: `http://localhost:5050` +3. At login page use default credentials: + Username : pgadmin4@pgadmin.org + Password : admin @@ -1004,53 +922,38 @@ Password : admin
## Use Beanstalkd +1. Run the Beanstalkd Container: + ```bash + docker-compose up -d beanstalkd + ``` +2. Configure Laravel to connect to that container by editing the `config/queue.php` config file. + * first set `beanstalkd` as default queue driver + * set the queue host to beanstalkd : `QUEUE_HOST=beanstalkd` + *beanstalkd is now available on default port `11300`.* +3. Require the dependency package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer. + Optionally you can use the Beanstalkd Console Container to manage your Queues from a web interface. + * Run the Beanstalkd Console Container: + ```bash + docker-compose up -d beanstalkd-console + ``` + * Open your browser and visit `http://localhost:2080/` + _Note: You can customize the port on which beanstalkd console is listening by changing `BEANSTALKD_CONSOLE_HOST_PORT` in `.env`. The default value is *2080*._ -1 - Run the Beanstalkd Container: + * Add the server + - Host: beanstalkd + - Port: 11300 +4. Done -```bash -docker-compose up -d beanstalkd -``` - -2 - Configure Laravel to connect to that container by editing the `config/queue.php` config file. - -a. first set `beanstalkd` as default queue driver -b. set the queue host to beanstalkd : `QUEUE_HOST=beanstalkd` - -*beanstalkd is now available on default port `11300`.* - -3 - Require the dependency package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer. - - -Optionally you can use the Beanstalkd Console Container to manage your Queues from a web interface. - -1 - Run the Beanstalkd Console Container: - -```bash -docker-compose up -d beanstalkd-console -``` - -2 - Open your browser and visit `http://localhost:2080/` - -_Note: You can customize the port on which beanstalkd console is listening by changing `BEANSTALKD_CONSOLE_HOST_PORT` in `.env`. The default value is *2080*._ - -3 - Add the server - -- Host: beanstalkd -- Port: 11300 - -4 - Done.
## Use Confluence - -1 - Run the Confluence Container (`confluence`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d 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` @@ -1073,18 +976,14 @@ docker-compose up -d elasticsearch > The default username is `elastic` and the default password is `changeme`. ### Install ElasticSearch Plugin - -1 - Install an ElasticSearch plugin. - -```bash -docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} -``` - -2 - Restart elasticsearch container - -```bash -docker-compose restart elasticsearch -``` +1. Install an ElasticSearch plugin. + ```bash + docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} + ``` +2. Restart elasticsearch container + ```bash + docker-compose restart elasticsearch + ``` @@ -1094,14 +993,11 @@ docker-compose restart elasticsearch
## Use Selenium - -1 - Run the Selenium Container (`selenium`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d selenium -``` - -2 - Open your browser and visit the localhost on port **4444** at the following URL: `http://localhost:4444/wd/hub` +1. Run the Selenium Container (`selenium`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d selenium + ``` +2. Open your browser and visit the localhost on port **4444** at the following URL: `http://localhost:4444/wd/hub` @@ -1115,38 +1011,35 @@ docker-compose up -d selenium The RethinkDB is an open-source Database for Real-time Web ([RethinkDB](https://rethinkdb.com/)). A package ([Laravel RethinkDB](https://github.com/duxet/laravel-rethinkdb)) is being developed and was released a version for Laravel 5.2 (experimental). -1 - Run the RethinkDB Container (`rethinkdb`) with the `docker-compose up` command. +1. Run the RethinkDB Container (`rethinkdb`) with the `docker-compose up` command. + ```bash + docker-compose up -d rethinkdb + ``` -```bash -docker-compose up -d rethinkdb -``` +2. Access the RethinkDB Administration Console [http://localhost:8090/#tables](http://localhost:8090/#tables) for create a database called `database`. -2 - Access the RethinkDB Administration Console [http://localhost:8090/#tables](http://localhost:8090/#tables) for create a database called `database`. +3. Add the RethinkDB configurations to the `config/database.php` configuration file: + ```php + 'connections' => [ + + 'rethinkdb' => [ + 'name' => 'rethinkdb', + 'driver' => 'rethinkdb', + 'host' => env('DB_HOST', 'rethinkdb'), + 'port' => env('DB_PORT', 28015), + 'database' => env('DB_DATABASE', 'test'), + ] + + // ... + + ], + ``` -3 - Add the RethinkDB configurations to the `config/database.php` configuration file: - -```php -'connections' => [ - - 'rethinkdb' => [ - 'name' => 'rethinkdb', - 'driver' => 'rethinkdb', - 'host' => env('DB_HOST', 'rethinkdb'), - 'port' => env('DB_PORT', 28015), - 'database' => env('DB_DATABASE', 'test'), - ] - - // ... - -], -``` - -4 - Open your Laravel's `.env` file and update the following variables: - -- set the `DB_CONNECTION` to your `rethinkdb`. -- set the `DB_HOST` to `rethinkdb`. -- set the `DB_PORT` to `28015`. -- set the `DB_DATABASE` to `database`. +4. Open your Laravel's `.env` file and update the following variables: + - set the `DB_CONNECTION` to your `rethinkdb`. + - set the `DB_HOST` to `rethinkdb`. + - set the `DB_PORT` to `28015`. + - set the `DB_DATABASE` to `database`. #### Additional Notes @@ -1157,32 +1050,26 @@ docker-compose up -d rethinkdb
## Use Minio - -1 - Configure Minio: - - On the workspace container, change `INSTALL_MC` to true to get the client - - Set `MINIO_ACCESS_KEY` and `MINIO_ACCESS_SECRET` if you wish to set proper keys - -2 - Run the Minio Container (`minio`) with the `docker-compose up` command. Example: - -```bash -docker-compose up -d minio -``` - -3 - Open your browser and visit the localhost on port **9000** at the following URL: `http://localhost:9000` - -4 - Create a bucket either through the webui or using the mc client: - ```bash - mc mb minio/bucket - ``` - -5 - When configuring your other clients use the following details: - ``` - S3_HOST=http://minio - S3_KEY=access - S3_SECRET=secretkey - S3_REGION=us-east-1 - S3_BUCKET=bucket - ``` +1. Configure Minio: + - On the workspace container, change `INSTALL_MC` to true to get the client + - Set `MINIO_ACCESS_KEY` and `MINIO_ACCESS_SECRET` if you wish to set proper keys +2. Run the Minio Container (`minio`) with the `docker-compose up` command. Example: + ```bash + docker-compose up -d minio + ``` +3. Open your browser and visit the localhost on port **9000** at the following URL: `http://localhost:9000` +4. Create a bucket either through the webui or using the mc client: + ```bash + mc mb minio/bucket + ``` +5. When configuring your other clients use the following details: + ``` + S3_HOST=http://minio + S3_KEY=access + S3_SECRET=secretkey + S3_REGION=us-east-1 + S3_BUCKET=bucket + ``` From 51d821b35f527edd4c618b646a31c23a5b8bd942 Mon Sep 17 00:00:00 2001 From: zill057 Date: Mon, 28 Oct 2019 17:15:31 +0800 Subject: [PATCH 064/470] 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 896adb5..ee00bd2 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 9bccca0..350c40d 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 065/470] 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 8d679ba..9d34be7 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 6081ebd..8a1d4c9 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 066/470] 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 d2b91fb..d2d574c 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 067/470] 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 d2b91fb..14d9e33 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 0000000..f804956 --- /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 2af7bfa60fcc3c9202cc2a05ae8ecfa4bcc954fc Mon Sep 17 00:00:00 2001 From: Anton Sannikov Date: Thu, 31 Oct 2019 16:02:33 +0300 Subject: [PATCH 068/470] Varnish vs Nginx configuration added --- DOCUMENTATION/content/documentation/index.md | 70 ++++++ docker-compose.yml | 7 + env-example | 4 +- nginx/Dockerfile | 4 +- nginx/sites/laravel_varnish.conf.example | 110 +++++++++ varnish/Dockerfile | 10 +- varnish/default.vcl | 9 +- varnish/default_wordpress.vcl | 243 +++++++++++++++++++ varnish/start.sh | 8 + 9 files changed, 451 insertions(+), 14 deletions(-) create mode 100644 nginx/sites/laravel_varnish.conf.example create mode 100644 varnish/default_wordpress.vcl diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d2b91fb..8172535 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -674,6 +674,7 @@ You may wanna change the default security configuration, so go to `http://localh
+ ## Use Redis 1 - First make sure you run the Redis Container (`redis`) with the `docker-compose up` command. @@ -761,12 +762,81 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con ``` +
+ +## Use Varnish +The goal was to proxy request to varnish server using nginx. So only nginx has been configured for Varnish proxy. +Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). +The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) + +The Varnish configuration was developed and tested for Wordpress only. Probably it works with other systems. + +#### Steps to configure varnish proxy server: +1. You have to set domain name for VARNISH_PROXY1_BACKEND_HOST variable. +2. If you want to use varnish for different domains, you have to add new configuration section in your env file. + ``` + VARNISH_PROXY1_CACHE_SIZE=128m + VARNISH_PROXY1_BACKEND_HOST=replace_with_your_domain.name + VARNISH_PROXY1_SERVER=SERVER1 + ``` +3. Then you have to add new config section into docker-compose.yml with related variables: + ``` + custom_proxy_name: + container_name: custom_proxy_name + build: ./varnish + expose: + - ${VARNISH_PORT} + environment: + - VARNISH_CONFIG=${VARNISH_CONFIG} + - CACHE_SIZE=${VARNISH_PROXY2_CACHE_SIZE} + - VARNISHD_PARAMS=${VARNISHD_PARAMS} + - VARNISH_PORT=${VARNISH_PORT} + - BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST} + - BACKEND_PORT=${VARNISH_BACKEND_PORT} + - VARNISH_SERVER=${VARNISH_PROXY2_SERVER} + ports: + - "${VARNISH_PORT}:${VARNISH_PORT}" + links: + - workspace + networks: + - frontend + ``` +4. change your varnish config and add nginx configuration. Example Nginx configuration is here: `nginx/sites/laravel_varnish.conf.example`. +5. `varnish/default.vcl` is old varnish configuration, which was used in the previous version. Use `default_wordpress.vcl` instead. + +#### How to run: +1. Rename `default_wordpress.vcl` to `default.vcl` +2. `docker-compose up -d nginx` +3. `docker-compose up -d proxy` + +Keep in mind that varnish server must be built after Nginx cause varnish checks domain affordability. + +#### FAQ: + +1. How to purge cache?
+run from any cli:
`curl -X PURGE https://yourwebsite.com/`. +2. How to reload varnish?
+`docker container exec proxy varnishreload` +3. Which varnish commands are allowed? + - varnishadm + - varnishd + - varnishhist + - varnishlog + - varnishncsa + - varnishreload + - varnishstat + - varnishtest + - varnishtop +4. How to reload Nginx?
+`docker exec Nginx nginx -t`
+`docker exec Nginx nginx -s reload`
+ ## Use Mongo 1 - First install `mongo` in the Workspace and the PHP-FPM Containers: diff --git a/docker-compose.yml b/docker-compose.yml index 896adb5..2ab5d44 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -291,6 +291,7 @@ services: ports: - "${NGINX_HOST_HTTP_PORT}:80" - "${NGINX_HOST_HTTPS_PORT}:443" + - "${VARNISH_BACKEND_PORT}:81" depends_on: - php-fpm networks: @@ -836,6 +837,7 @@ services: ### Varnish ########################################## proxy: + container_name: proxy build: ./varnish expose: - ${VARNISH_PORT} @@ -847,12 +849,15 @@ services: - BACKEND_HOST=${VARNISH_PROXY1_BACKEND_HOST} - BACKEND_PORT=${VARNISH_BACKEND_PORT} - VARNISH_SERVER=${VARNISH_PROXY1_SERVER} + ports: + - "${VARNISH_PORT}:${VARNISH_PORT}" links: - workspace networks: - frontend proxy2: + container_name: proxy2 build: ./varnish expose: - ${VARNISH_PORT} @@ -864,6 +869,8 @@ services: - BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST} - BACKEND_PORT=${VARNISH_BACKEND_PORT} - VARNISH_SERVER=${VARNISH_PROXY2_SERVER} + ports: + - "${VARNISH_PORT}:${VARNISH_PORT}" links: - workspace networks: diff --git a/env-example b/env-example index 1b71479..b8a80d3 100644 --- a/env-example +++ b/env-example @@ -364,8 +364,8 @@ MAILDEV_SMTP_PORT=25 ### VARNISH ############################################### VARNISH_CONFIG=/etc/varnish/default.vcl -VARNISH_PORT=8080 -VARNISH_BACKEND_PORT=8888 +VARNISH_PORT=6081 +VARNISH_BACKEND_PORT=81 VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600 ### Varnish ############################################### diff --git a/nginx/Dockerfile b/nginx/Dockerfile index eb1015b..e51879c 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -18,6 +18,8 @@ RUN apk update \ && apk add --no-cache openssl \ && apk add --no-cache bash +RUN apk add --no-cache curl + RUN set -x ; \ addgroup -g 82 -S www-data ; \ adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1 @@ -39,4 +41,4 @@ ADD ./startup.sh /opt/startup.sh RUN sed -i 's/\r//g' /opt/startup.sh CMD ["/bin/bash", "/opt/startup.sh"] -EXPOSE 80 443 +EXPOSE 80 81 443 diff --git a/nginx/sites/laravel_varnish.conf.example b/nginx/sites/laravel_varnish.conf.example new file mode 100644 index 0000000..7d54587 --- /dev/null +++ b/nginx/sites/laravel_varnish.conf.example @@ -0,0 +1,110 @@ +server { + listen 80; + listen [::]:80; + server_name www.laravel.test; + rewrite ^(.*) https://laravel.test$1/ permanent; +} + +server { + listen 80; + listen [::]:80; + server_name laravel.test; + rewrite ^(.*) https://laravel.test$1/ permanent; +} + +server { + listen 443 ssl ; + listen [::]:443 ssl; + ssl_certificate /etc/nginx/ssl/laravel.test.crt; + ssl_certificate_key /etc/nginx/ssl/laravel.test.key; + server_name www.laravel.test; + rewrite ^(.*) https://laravel.test$1/ permanent; +} + +server { + server_name laravel.test; + + # For https + listen 443 ssl ; + listen [::]:443 ssl; + ssl_certificate /etc/nginx/ssl/laravel.test.crt; + ssl_certificate_key /etc/nginx/ssl/laravel.test.key; + + port_in_redirect off; + + add_header Strict-Transport-Security "max-age=31536000"; + add_header X-Content-Type-Options nosniff; + + location / { + proxy_pass http://proxy:6081; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header HTTPS "on"; + proxy_redirect off; + } +} + +server { + server_name laravel.test; + + listen 81; + listen [::]:81; + + root /var/www/laravel.test/www; + + index index.php index.html index.htm; + + location / { + try_files $uri $uri/ /index.php$is_args$args; + } + + location ~ \.php$ { + fastcgi_max_temp_file_size 4m; + fastcgi_pass php-upstream; + + # Additional configs + fastcgi_pass_header Set-Cookie; + fastcgi_pass_header Cookie; + fastcgi_ignore_headers Cache-Control Expires Set-Cookie; + try_files $uri /index.php =404; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; + fastcgi_param HTTPS on; + + fastcgi_buffers 16 16k; + fastcgi_buffer_size 32k; + + fastcgi_intercept_errors on; + + #fixes timeouts + fastcgi_read_timeout 600; + include fastcgi_params; + } + + # Caching + location ~* \.(ico|jpg|webp|jpeg|gif|css|png|js|ico|bmp|zip|woff)$ { + access_log off; + log_not_found off; + add_header Pragma public; + add_header Cache-Control "public"; + expires 14d; + } + + location ~* \.(php|html)$ { + access_log on; + log_not_found on; + add_header Pragma public; + add_header Cache-Control "public"; + expires 14d; + } + + location ~ /\.ht { + deny all; + } +} diff --git a/varnish/Dockerfile b/varnish/Dockerfile index 8cc4fbf..3139da7 100644 --- a/varnish/Dockerfile +++ b/varnish/Dockerfile @@ -1,16 +1,8 @@ -FROM debian:latest - -LABEL maintainer="ZeroC0D3 Team" +FROM varnish:6.3 # Set Environment Variables ENV DEBIAN_FRONTEND noninteractive -# Install Dependencies -RUN apt-get update && apt-get install -y apt-utils && apt-get upgrade -y -RUN mkdir /home/site && mkdir /home/site/cache -RUN apt-get install -y varnish -RUN rm -rf /var/lib/apt/lists/* - # Setting Configurations ENV VARNISH_CONFIG /etc/varnish/default.vcl ENV CACHE_SIZE 128m diff --git a/varnish/default.vcl b/varnish/default.vcl index 73099c3..9da3360 100644 --- a/varnish/default.vcl +++ b/varnish/default.vcl @@ -52,6 +52,7 @@ sub vcl_init { # vdir.add_backend(servern); } +# This function is used when a request is send by a HTTP client (Browser) sub vcl_recv { # Called at the beginning of a request, after the complete request has been received and parsed. # Its purpose is to decide whether or not to serve the request, how to do it, and, if applicable, @@ -75,8 +76,12 @@ sub vcl_recv { # Not from an allowed IP? Then die with an error. return (synth(405, "This IP is not allowed to send PURGE requests.")); } - # If you got this stage (and didn't error out above), purge the cached result - return (purge); + + ban("req.http.host == " + req.http.host); + # Throw a synthetic page so the request won't go to the backend. + return(synth(200, "Ban added")); + # If allowed, do a cache_lookup -> vlc_hit() or vlc_miss() + #return (purge); } # Only deal with "normal" types diff --git a/varnish/default_wordpress.vcl b/varnish/default_wordpress.vcl new file mode 100644 index 0000000..a304f97 --- /dev/null +++ b/varnish/default_wordpress.vcl @@ -0,0 +1,243 @@ +vcl 4.1; +# Based on: https://github.com/mattiasgeniar/varnish-6.0-configuration-templates/blob/master/default.vcl + +import std; +import directors; + +backend everpracticalsolutionsServer { # Define one backend + .host = "${BACKEND_HOST}"; # IP or Hostname of backend + .port = "${BACKEND_PORT}"; # Port Apache or whatever is listening + .max_connections = 300; # That's it + + .probe = { + #.url = "/"; # short easy way (GET /) + # We prefer to only do a HEAD / + .request = + "HEAD /health_check.php HTTP/1.1" + "Host: ${BACKEND_HOST}" + "Connection: close" + "User-Agent: Varnish Health Probe"; + + .interval = 5s; # check the health of each backend every 5 seconds + .timeout = 1s; # timing out after 1 second. + .window = 5; # If 3 out of the last 5 polls succeeded the backend is considered healthy, otherwise it will be marked as sick + .threshold = 3; + } + + .first_byte_timeout = 300s; # How long to wait before we receive a first byte from our backend? + .connect_timeout = 5s; # How long to wait for a backend connection? + .between_bytes_timeout = 2s; # How long to wait between bytes received from our backend? +} + +# Only allow purging from specific IPs +acl purge { + "localhost"; + "127.0.0.1"; + "192.168.16.5"; + "192.168.16.6"; + "185.228.234.203"; +} + +# This function is used when a request is send by a HTTP client (Browser) +sub vcl_recv { + # Normalize the header, remove the port (in case you're testing this on various TCP ports) + set req.http.Host = regsub(req.http.Host, ":[0-9]+", ""); + + # Allow purging from ACL + if (req.method == "PURGE") { + # If not allowed then a error 405 is returned + if (!client.ip ~ purge) { + return(synth(405, "This IP is not allowed to send PURGE requests.")); + } + + ban("req.http.host == " + req.http.host); + # Throw a synthetic page so the request won't go to the backend. + return(synth(200, "Ban added")); + # If allowed, do a cache_lookup -> vlc_hit() or vlc_miss() + #return (purge); + } + + # Post requests will not be cached + if (req.http.Authorization || req.method == "POST") { + return (pass); + } + + # --- WordPress specific configuration + + # Did not cache the RSS feed + if (req.url ~ "/feed") { + return (pass); + } + + # Blitz hack + if (req.url ~ "/mu-.*") { + return (pass); + } + + # Did not cache the admin and login pages + if (req.url ~ "/wp-(login|admin)") { + return (pass); + } + + # Remove the "has_js" cookie + set req.http.Cookie = regsuball(req.http.Cookie, "has_js=[^;]+(; )?", ""); + + # Remove any Google Analytics based cookies + set req.http.Cookie = regsuball(req.http.Cookie, "__utm.=[^;]+(; )?", ""); + + # Remove the Quant Capital cookies (added by some plugin, all __qca) + set req.http.Cookie = regsuball(req.http.Cookie, "__qc.=[^;]+(; )?", ""); + + # Remove the wp-settings-1 cookie + set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-1=[^;]+(; )?", ""); + + # Remove the wp-settings-time-1 cookie + set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-time-1=[^;]+(; )?", ""); + + # Remove the wp test cookie + set req.http.Cookie = regsuball(req.http.Cookie, "wordpress_test_cookie=[^;]+(; )?", ""); + + # Are there cookies left with only spaces or that are empty? + if (req.http.cookie ~ "^ *$") { + unset req.http.cookie; + } + + # Cache the following files extensions + if (req.url ~ "\.(css|js|png|gif|jp(e)?g|swf|ico)") { + unset req.http.cookie; + } + + # Normalize Accept-Encoding header and compression + # https://www.varnish-cache.org/docs/3.0/tutorial/vary.html + if (req.http.Accept-Encoding) { + # Do no compress compressed files... + if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") { + unset req.http.Accept-Encoding; + } elsif (req.http.Accept-Encoding ~ "gzip") { + set req.http.Accept-Encoding = "gzip"; + } elsif (req.http.Accept-Encoding ~ "deflate") { + set req.http.Accept-Encoding = "deflate"; + } else { + unset req.http.Accept-Encoding; + } + } + + # Check the cookies for wordpress-specific items + if (req.http.Cookie ~ "wordpress_" || req.http.Cookie ~ "comment_") { + return (pass); + } + if (!req.http.cookie) { + unset req.http.cookie; + } + + # --- End of WordPress specific configuration + + # Do not cache HTTP authentication and HTTP Cookie + if (req.http.Authorization || req.http.Cookie) { + # Not cacheable by default + return (pass); + } + + # Cache all others requests + return (hash); +} + +sub vcl_pipe { + return (pipe); +} + +sub vcl_pass { + return (fetch); +} + +# The data on which the hashing will take place +sub vcl_hash { + hash_data(req.url); + if (req.http.host) { + hash_data(req.http.host); + } else { + hash_data(server.ip); + } + + # If the client supports compression, keep that in a different cache + if (req.http.Accept-Encoding) { + hash_data(req.http.Accept-Encoding); + } + + return (lookup); +} + +# This function is used when a request is sent by our backend (Nginx server) +sub vcl_backend_response { + # Remove some headers we never want to see + unset beresp.http.Server; + unset beresp.http.X-Powered-By; + + # For static content strip all backend cookies + if (bereq.url ~ "\.(css|js|png|gif|jp(e?)g)|swf|ico") { + unset beresp.http.cookie; + } + + # Only allow cookies to be set if we're in admin area + if (beresp.http.Set-Cookie && bereq.url !~ "^/wp-(login|admin)") { + unset beresp.http.Set-Cookie; + } + + # don't cache response to posted requests or those with basic auth + if ( bereq.method == "POST" || bereq.http.Authorization ) { + set beresp.uncacheable = true; + set beresp.ttl = 120s; + return (deliver); + } + + # don't cache search results + if ( bereq.url ~ "\?s=" ){ + set beresp.uncacheable = true; + set beresp.ttl = 120s; + return (deliver); + } + + # only cache status ok + if ( beresp.status != 200 ) { + set beresp.uncacheable = true; + set beresp.ttl = 120s; + return (deliver); + } + + # A TTL of 24h + set beresp.ttl = 24h; + # Define the default grace period to serve cached content + set beresp.grace = 30s; + + return (deliver); +} + +# The routine when we deliver the HTTP request to the user +# Last chance to modify headers that are sent to the client +sub vcl_deliver { + if (obj.hits > 0) { + set resp.http.X-Cache = "cached"; + } else { + set resp.http.x-Cache = "uncached"; + } + + # Remove some headers: PHP version + unset resp.http.X-Powered-By; + + # Remove some headers: Apache version & OS + unset resp.http.Server; + + # Remove some heanders: Varnish + unset resp.http.Via; + unset resp.http.X-Varnish; + + return (deliver); +} + +sub vcl_init { + return (ok); +} + +sub vcl_fini { + return (ok); +} \ No newline at end of file diff --git a/varnish/start.sh b/varnish/start.sh index 7e7c28a..8bdad94 100644 --- a/varnish/start.sh +++ b/varnish/start.sh @@ -7,6 +7,14 @@ do sed -i "s|\${${name}}|${value}|g" /etc/varnish/default.vcl done +echo "exec varnishd \ + -a :$VARNISH_PORT \ + -T localhost:6082 \ + -F \ + -f $VARNISH_CONFIG \ + -s malloc,$CACHE_SIZE \ + $VARNISHD_PARAMS" + exec bash -c \ "exec varnishd \ -a :$VARNISH_PORT \ 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 069/470] Install MongoDB drivers --- laravel-horizon/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 5ce1d8e..425499d 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 a760da348804a675af657b876599331828d483c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=85=8B?= Date: Sat, 2 Nov 2019 20:42:33 +0800 Subject: [PATCH 070/470] Update index.md --- DOCUMENTATION/content/getting-started/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index 9e75695..df19354 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -223,7 +223,7 @@ Or you can change them and rebuild the container. Make sure you add use the right port number as provided by your running server. -[http://localhost:80](http://localhost:80) +[http://localhost](http://localhost) If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`. 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 071/470] 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 d83b442..0e01cec 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 072/470] 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 a8bdcb8..75ef625 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 073/470] 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 fc4f624..0505d98 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 3e794ff..09c7c48 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 074/470] 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 0bc7972..d215254 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 673deb0..a52f36e 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 8a1d4c9..58bd463 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 075/470] 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 d215254..4f32e05 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 076/470] 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 ce5e9f7..aa744a1 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 077/470] remove duplicated laravel installer code --- workspace/Dockerfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 58bd463..4bef4df 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 078/470] 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 badfd80..b831d6d 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 079/470] 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 4f32e05..41a4aea 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 a52f36e..cdc3874 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 58bd463..28ff0a6 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 080/470] 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 28ff0a6..f9b3ec6 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 0000000..61da3a2 --- /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 081/470] 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 41a4aea..d1fde5c 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 cdc3874..aee4d62 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 d38bb16..a997e08 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 61da3a2..0000000 --- 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 082/470] 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 d1fde5c..1e61eb4 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 083/470] 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 0000000..eef0670 --- /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 084/470] increase update filesize to 2G #2344 --- phpmyadmin/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/phpmyadmin/Dockerfile b/phpmyadmin/Dockerfile index 75812d9..ded59ba 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 085/470] 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 a997e08..f451457 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 086/470] 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 4f32e05..8e84141 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 a52f36e..f3d51ce 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 2047489..01f025b 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 087/470] 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 a8bdcb8..e0e8828 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 088/470] Add key to install ffmpeg in horizon --- env-example | 1 + 1 file changed, 1 insertion(+) diff --git a/env-example b/env-example index a52f36e..120c36e 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 089/470] 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 5ce1d8e..3c0509e 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 090/470] 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 4f32e05..d3aca5a 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 091/470] 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 2047489..73cf44f 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 4bef4df..0be87f8 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 092/470] 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 0505d98..8511555 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 a52f36e..9e25ea5 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 093/470] Update docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 896adb5..362ebb6 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 094/470] Update env-example --- env-example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/env-example b/env-example index 1b71479..f021aaa 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 095/470] 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 b0b297c..acbe226 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 425499d..9edbe14 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 9bccca0..350c40d 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 096/470] 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 acbe226..d5de70b 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 9bc6578..8560f98 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 70b5ab4..18eb306 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 6edaa13..0000000 --- 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 097/470] 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 a7facd5..e03ccf8 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 098/470] 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 789bbad..73e55a9 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 9bc6578..8560f98 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 099/470] 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 73e55a9..f1e66c7 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 100/470] 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 f1e66c7..3e4bac2 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 18eb306..ca34a56 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 101/470] 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 3e4bac2..8dfa9f1 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 102/470] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09c7c48..53e29e0 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 103/470] =?UTF-8?q?refactor:=20=E8=BF=98=E5=8E=9F=20xdebug?= =?UTF-8?q?.ini?= 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 8560f98..c3f32ec 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 8560f98..c3f32ec 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 104/470] =?UTF-8?q?refactor:=20=E8=BF=98=E5=8E=9F=20nginx.?= =?UTF-8?q?conf=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 105/470] update travis ci config (#2409) --- .travis.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d92a02..821b0f6 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 106/470] 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 bb8d17c..7c469df 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 107/470] 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 02fe4bd..e83c434 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 108/470] update travis ci config (#2412) --- .travis.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 821b0f6..4b68105 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 109/470] 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 4be22f7..57e8f8d 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 0000000..fd5da25 --- /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 06eccb5..e215d35 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 110/470] 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 0000000..9bf5f6c --- /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 111/470] 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 7c469df..c544f2e 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 112/470] 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 2d9e5ac..c777500 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 113/470] 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 9fe5214..0000000 --- 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 114/470] 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 062293b..0000000 --- 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 115/470] 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 f453c77..0000000 --- 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 116/470] Update env-example --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index d538843..656233e 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 117/470] 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 399db68..1e8f6c5 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 7c469df..fc73a32 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 d538843..e6ee798 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 042341f..3333114 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 118/470] 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 042341f..43fd1af 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 119/470] 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 57e8f8d..f6399ce 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 fd5da25..0000000 --- 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 120/470] fixed --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index d538843..574e7bd 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 121/470] 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 9edbe14..4e9d3ef 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 122/470] 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 0000000..6d8e9ee --- /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 123/470] 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 350c40d..e72f51a 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 124/470] 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 0fa3230..aa5f25e 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 125/470] 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 76dacec..fdab141 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 aa5f25e..c521fd0 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 559351d..a0af222 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 a061941..6223e0a 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 126/470] 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 e72f51a..df78ab4 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 127/470] upgrade apache2 --- apache2/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apache2/Dockerfile b/apache2/Dockerfile index 71cad50..7f0e657 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 128/470] 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 a0af222..74b072e 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 129/470] 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 1d11afb..56e4fe0 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 1d58dcf..dbe3efb 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 30afd7b..14d5be0 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 aa18b22..f71661d 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 ab8c9c7..0000000 --- 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 1d971c5..8267bc5 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 8511555..3c6437d 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 af662ad..050f28d 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 502cd68..a7c9bc1 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 130/470] 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 df78ab4..d9733e5 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 131/470] 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 3c0509e..f627557 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 132/470] 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 d3aca5a..22d96b6 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 133/470] 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 245dccd..f664320 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 8ecd35d2e9ba7c18de7b281a6287379d806f1fb7 Mon Sep 17 00:00:00 2001 From: Dan Wilson Date: Wed, 15 Jan 2020 12:01:35 -0500 Subject: [PATCH 134/470] Added wkhtmltopdf installation to both Workspace and PHP-FPM --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 20 ++++++++++++++++++++ workspace/Dockerfile | 20 ++++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index fdab141..c935c83 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -138,6 +138,7 @@ services: - INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE} - INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR} - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} + - INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} - http_proxy - https_proxy @@ -217,6 +218,7 @@ services: - INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} + - INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} diff --git a/env-example b/env-example index c521fd0..82234e8 100644 --- a/env-example +++ b/env-example @@ -155,6 +155,7 @@ WORKSPACE_CHROME_DRIVER_VERSION=2.42 WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 WORKSPACE_INSTALL_FFMPEG=false +WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 @@ -210,6 +211,7 @@ PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false +PHP_FPM_INSTALL_WKHTMLTOPDF=false PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" PHP_FPM_DEFAULT_LOCALE=POSIX diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 74b072e..24b6c6e 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -846,6 +846,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +##################################### +# wkhtmltopdf: +##################################### + +USER root + +ARG INSTALL_WKHTMLTOPDF=false + +RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ + apt-get install -y \ + libxrender1 \ + libfontconfig1 \ + libx11-dev \ + libjpeg62 \ + libxtst6 \ + wget \ + && wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \ + && chmod +x /usr/local/bin/wkhtmltopdf \ +;fi + ########################################################################### # Mailparse extension: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6223e0a..a5f3d28 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1231,6 +1231,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +##################################### +# wkhtmltopdf: +##################################### + +USER root + +ARG INSTALL_WKHTMLTOPDF=false + +RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ + apt-get install -y \ + libxrender1 \ + libfontconfig1 \ + libx11-dev \ + libjpeg62 \ + libxtst6 \ + wget \ + && wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \ + && chmod +x /usr/local/bin/wkhtmltopdf \ +;fi + ########################################################################### # Mailparse extension: ########################################################################### From 711b2e7449cbf6e2368cb6a1cd75413929d7a7d1 Mon Sep 17 00:00:00 2001 From: Dan Wilson Date: Wed, 15 Jan 2020 13:44:53 -0500 Subject: [PATCH 135/470] Updated documentation with wkhtmltopdf section --- DOCUMENTATION/content/documentation/index.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 14d5be0..1cafb33 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1876,7 +1876,21 @@ To install FFMPEG in the Workspace container **PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary. +
+ +## Install wkhtmltopdf +[wkhtmltopdf](https://wkhtmltopdf.org/) is a utility for outputting a PDF from HTML + +To install wkhtmltopdf in the Workspace container + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_WKHTMLTOPDF` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `wkhtmltopdf` binary. From 9461c859f07b27200646704fc0e9e47a6f029727 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 16 Jan 2020 14:57:19 +0800 Subject: [PATCH 136/470] 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 74b072e..1d6a8bf 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 b28f44955681244da1a7b04c013a667ae68b825d Mon Sep 17 00:00:00 2001 From: Scott Collier Date: Mon, 20 Jan 2020 12:24:18 -0600 Subject: [PATCH 137/470] Add bash-git-prompt in order to have a more descriptive prompt when working with repositories. Also, update documentation for bash-git-prompt usage --- DOCUMENTATION/content/documentation/index.md | 19 ++++++++++++++++ docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 13 +++++++++++ workspace/git-prompt.sh | 24 ++++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 workspace/git-prompt.sh diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 14d5be0..d007bca 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -2052,6 +2052,25 @@ AST exposes the abstract syntax tree generated by PHP 7+. This extension is requ +
+ +## Install Git Bash Prompt +A bash prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc. + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_GIT_PROMPT` argument under the Workspace Container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace` + +**Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container. +For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt). + + + +
## PHPStorm Debugging Guide diff --git a/docker-compose.yml b/docker-compose.yml index 7f1543f..bb75128 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -125,6 +125,7 @@ services: - INSTALL_AST=${WORKSPACE_INSTALL_AST} - INSTALL_YAML=${WORKSPACE_INSTALL_YAML} - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE} + - INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} diff --git a/env-example b/env-example index feecbd6..256288d 100644 --- a/env-example +++ b/env-example @@ -158,6 +158,7 @@ WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_INSTALL_GIT_PROMPT=true ### PHP_FPM ############################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6223e0a..3bf6872 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1253,6 +1253,19 @@ RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \ apt-get -y install parallel \ ;fi +########################################################################### +# Bash Git Prompt +########################################################################### + +ARG INSTALL_GIT_PROMPT=false + +COPY git-prompt.sh /tmp/git-prompt + +RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \ + git clone https://github.com/magicmonty/bash-git-prompt.git /root/.bash-git-prompt --depth=1 && \ + cat /tmp/git-prompt >> /root/.bashrc && \ + rm /tmp/git-prompt \ +;fi ########################################################################### # Check PHP version: diff --git a/workspace/git-prompt.sh b/workspace/git-prompt.sh new file mode 100644 index 0000000..374e9fa --- /dev/null +++ b/workspace/git-prompt.sh @@ -0,0 +1,24 @@ +# Settings info at https://github.com/magicmonty/bash-git-prompt +if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then + # Set config variables first + GIT_PROMPT_ONLY_IN_REPO=1 + GIT_PROMPT_FETCH_REMOTE_STATUS=0 # uncomment to avoid fetching remote status + GIT_PROMPT_IGNORE_SUBMODULES=1 # uncomment to avoid searching for changed files in submodules + # GIT_PROMPT_WITH_VIRTUAL_ENV=0 # uncomment to avoid setting virtual environment infos for node/python/conda environments + + # GIT_PROMPT_SHOW_UPSTREAM=1 # uncomment to show upstream tracking branch + # GIT_PROMPT_SHOW_UNTRACKED_FILES=normal # can be no, normal or all; determines counting of untracked files + + # GIT_PROMPT_SHOW_CHANGED_FILES_COUNT=0 # uncomment to avoid printing the number of changed files + + # GIT_PROMPT_STATUS_COMMAND=gitstatus_pre-1.7.10.sh # uncomment to support Git older than 1.7.10 + + # GIT_PROMPT_START=... # uncomment for custom prompt start sequence + # GIT_PROMPT_END=... # uncomment for custom prompt end sequence + + # as last entry source the gitprompt script + # GIT_PROMPT_THEME=Custom # use custom theme specified in file GIT_PROMPT_THEME_FILE (default ~/.git-prompt-colors.sh) + # GIT_PROMPT_THEME_FILE=~/.git-prompt-colors.sh + # GIT_PROMPT_THEME=Solarized # use theme optimized for solarized color scheme + source $HOME/.bash-git-prompt/gitprompt.sh +fi From 7fec2186ef0a140a19c603d7406614bb4c321e18 Mon Sep 17 00:00:00 2001 From: Scott Collier Date: Mon, 20 Jan 2020 12:25:44 -0600 Subject: [PATCH 138/470] Add bash-git-prompt in order to have a more descriptive prompt when working with repositories. Also, update documentation for bash-git-prompt usage. Make sure initial value for usage is false. --- env-example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env-example b/env-example index 256288d..a98d14b 100644 --- a/env-example +++ b/env-example @@ -158,7 +158,7 @@ WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 -WORKSPACE_INSTALL_GIT_PROMPT=true +WORKSPACE_INSTALL_GIT_PROMPT=false ### PHP_FPM ############################################### From 5aafed586be0aade83a20928d0d45bb508521478 Mon Sep 17 00:00:00 2001 From: Nathanael Date: Wed, 22 Jan 2020 15:37:04 -0300 Subject: [PATCH 139/470] upgraded elasticsearch, logstash and kibana images and provided an environment variable to specify a version for the entire ELK stack. --- docker-compose.yml | 15 ++++++++++++--- elasticsearch/Dockerfile | 3 ++- env-example | 3 +++ kibana/Dockerfile | 3 ++- logstash/Dockerfile | 3 ++- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fdab141..26bd204 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -770,7 +770,10 @@ services: ### ElasticSearch ######################################## elasticsearch: - build: ./elasticsearch + build: + context: ./elasticsearch + args: + - ELK_VERSION=${ELK_VERSION} volumes: - elasticsearch:/usr/share/elasticsearch/data environment: @@ -794,7 +797,10 @@ services: ### Logstash ############################################## logstash: - build: ./logstash + build: + context: ./logstash + args: + - ELK_VERSION=${ELK_VERSION} volumes: - './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml' - './logstash/pipeline:/usr/share/logstash/pipeline' @@ -812,7 +818,10 @@ services: ### Kibana ############################################## kibana: - build: ./kibana + build: + context: ./kibana + args: + - ELK_VERSION=${ELK_VERSION} ports: - "${KIBANA_HTTP_PORT}:5601" depends_on: diff --git a/elasticsearch/Dockerfile b/elasticsearch/Dockerfile index dcc2874..7d77e07 100644 --- a/elasticsearch/Dockerfile +++ b/elasticsearch/Dockerfile @@ -1,3 +1,4 @@ -FROM docker.elastic.co/elasticsearch/elasticsearch:7.1.1 +ARG ELK_VERSION=7.5.1 +FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION} EXPOSE 9200 9300 diff --git a/env-example b/env-example index c521fd0..46ad004 100644 --- a/env-example +++ b/env-example @@ -848,3 +848,6 @@ GEARMAN_MYSQL_PASSWORD_FILE= GEARMAN_MYSQL_DB=Gearmand # Table to use by Gearman (Default: gearman_queue) GEARMAN_MYSQL_TABLE=gearman_queue + +### ELK Stack ################################################## +ELK_VERSION=7.5.1 diff --git a/kibana/Dockerfile b/kibana/Dockerfile index b831d6d..46ef653 100644 --- a/kibana/Dockerfile +++ b/kibana/Dockerfile @@ -1,3 +1,4 @@ -FROM docker.elastic.co/kibana/kibana:7.1.1 +ARG ELK_VERSION=7.5.1 +FROM docker.elastic.co/kibana/kibana:${ELK_VERSION} EXPOSE 5601 diff --git a/logstash/Dockerfile b/logstash/Dockerfile index a8c5452..161d381 100644 --- a/logstash/Dockerfile +++ b/logstash/Dockerfile @@ -1,4 +1,5 @@ -FROM docker.elastic.co/logstash/logstash:6.4.2 +ARG ELK_VERSION=7.5.1 +FROM docker.elastic.co/logstash/logstash:${ELK_VERSION} USER root RUN rm -f /usr/share/logstash/pipeline/logstash.conf From 8b4391e63ca9260a29177d368fbf5eb7b494fd6f Mon Sep 17 00:00:00 2001 From: Saulo Paiva Date: Sat, 25 Jan 2020 11:23:48 -0300 Subject: [PATCH 140/470] Use MYSQL_VERSION env var to build mysql image --- mysql/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql/Dockerfile b/mysql/Dockerfile index 03bb15c..870a5e4 100644 --- a/mysql/Dockerfile +++ b/mysql/Dockerfile @@ -1,4 +1,4 @@ -ARG MYSQL_VERSION=latest +ARG MYSQL_VERSION FROM mysql:${MYSQL_VERSION} LABEL maintainer="Mahmoud Zalt " From e14e5b7caff15136fe17c12411733d04c5288c4a Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 1 Feb 2020 15:18:36 +0100 Subject: [PATCH 141/470] Fix bad style --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7f1543f..a6cd3b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -291,8 +291,8 @@ services: - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO} - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG} - - PUID=${PHP_WORKER_PUID} - - PGID=${PHP_WORKER_PGID} + - PUID=${LARAVEL_HORIZON_PUID} + - PGID=${LARAVEL_HORIZON_PGID} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ./laravel-horizon/supervisord.d:/etc/supervisord.d From f3f3dfa7240ec70f9288a1f6b8b6d5ba0de935de Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 1 Feb 2020 15:20:02 +0100 Subject: [PATCH 142/470] Add group/user id setting to horizon .env section --- env-example | 2 ++ 1 file changed, 2 insertions(+) diff --git a/env-example b/env-example index feecbd6..03d3f38 100644 --- a/env-example +++ b/env-example @@ -254,6 +254,8 @@ LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_FFMPEG=false +LARAVEL_HORIZON_PGID=1000 +LARAVEL_HORIZON_PUID=1000 ### APACHE ################################################ From 34daaba270654e15f279953fbe1d65c4c537a96c Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Sat, 1 Feb 2020 20:31:18 +0100 Subject: [PATCH 143/470] 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 8359c58..0000000 --- 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 7d5865b..0000000 --- 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 61a5c98..4000502 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 eff16ef..0000000 --- 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 0000000..14edcca --- /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 0000000..18ff9f8 --- /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 0000000..15ad6ff --- /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 163c99c..85ca95d 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 0000000..323f966 --- /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 0000000..f3c36da --- /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 0000000..4d6e306 --- /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 0000000..74868e1 --- /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 3c6437d..5dcc92d 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 a7c9bc1..7f14e8b 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 ea23eb8..0953395 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 53e29e0..00071f6 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 From 5b33a2b319bfdaedfb97833f799d443fda7fe8b0 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Tue, 4 Feb 2020 16:53:14 +0100 Subject: [PATCH 144/470] Add variable to install YAML extension --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index dfc7a2e..d72ffd4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -287,6 +287,7 @@ services: - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} + - INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO} From c9e71c695ea38873dc12517d40a35935d9934286 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Tue, 4 Feb 2020 16:55:50 +0100 Subject: [PATCH 145/470] Add variable to install YAML extension --- env-example | 1 + 1 file changed, 1 insertion(+) diff --git a/env-example b/env-example index 720f94b..e0ab228 100644 --- a/env-example +++ b/env-example @@ -251,6 +251,7 @@ NGINX_SSL_PATH=./nginx/ssl/ ### LARAVEL_HORIZON ################################################ LARAVEL_HORIZON_INSTALL_SOCKETS=false +LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_FFMPEG=false From 82a4b1db60f0aff8e97c61e843ee90a47a814c82 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Tue, 4 Feb 2020 16:57:14 +0100 Subject: [PATCH 146/470] Add code to install YAML extension --- laravel-horizon/Dockerfile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 05a8ef2..c6cfada 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -105,6 +105,23 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \ && docker-php-ext-enable mongodb \ ;fi +########################################################################### + # YAML: extension + ########################################################################### + + 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 + ########################################################################### # PHP Memcached: From 72d11e4485b4d2e014ff97201aa03ac10be241b1 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Tue, 4 Feb 2020 17:00:01 +0100 Subject: [PATCH 147/470] fix indentations --- laravel-horizon/Dockerfile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index c6cfada..07a8f8d 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -106,21 +106,21 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \ ;fi ########################################################################### - # YAML: extension - ########################################################################### +# YAML: extension +########################################################################### - ARG INSTALL_YAML=false +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 +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 ########################################################################### From 0a253a3d7e464c967c4b9cb179a4571ef07a2ebc Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Tue, 4 Feb 2020 20:33:41 +0100 Subject: [PATCH 148/470] Alpine commands used --- laravel-horizon/Dockerfile | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 07a8f8d..49d0495 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -106,20 +106,21 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \ ;fi ########################################################################### -# YAML: extension +# YAML: extension ########################################################################### 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 \ + apk --update add -U --no-cache --virtual temp yaml-dev \ + && apk add --no-cache yaml \ + && docker-php-source extract \ + && pecl channel-update pecl.php.net \ + && pecl install yaml \ + && docker-php-ext-enable yaml \ + && pecl clear-cache \ + && docker-php-source delete \ + && apk del temp \ ;fi From b26bcdb42a403d060ad366d90d8218f3af28e34c Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 5 Feb 2020 14:54:57 +0800 Subject: [PATCH 149/470] php 7.4 php-worker zip ext. --- docker-compose.yml | 2 +- php-worker/Dockerfile | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0fa1a0d..e352a29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -248,7 +248,7 @@ services: context: ./php-worker args: - CHANGE_SOURCE=${CHANGE_SOURCE} - - PHP_VERSION=${PHP_VERSION} + - LARADOCK_PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index d9733e5..388940e 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -4,11 +4,13 @@ #-------------------------------------------------------------------------- # -ARG PHP_VERSION=${PHP_VERSION} -FROM php:${PHP_VERSION}-alpine +ARG LARADOCK_PHP_VERSION +FROM php:${LARADOCK_PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " +ARG LARADOCK_PHP_VERSION + # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. ARG CHANGE_SOURCE=false @@ -65,9 +67,14 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ # Install ZipArchive: ARG INSTALL_ZIP_ARCHIVE=false -RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ +RUN set -eux; \ + if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ apk --update add libzip-dev && \ - 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 \ ;fi @@ -75,7 +82,7 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - if [ ${PHP_VERSION} = "7.3" ]; then \ + if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apk --update add default-mysql-client \ ;else \ apk --update add mysql-client \ From 63b3d2ff14b58ee582d1b462397082f6cde2ce48 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Thu, 6 Feb 2020 23:58:07 +0800 Subject: [PATCH 150/470] postgresql version can specify --- docker-compose.yml | 5 ++++- env-example | 1 + postgres/Dockerfile | 5 ++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1aabe82..3c4f843 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -469,7 +469,10 @@ services: ### PostgreSQL ########################################### postgres: - build: ./postgres + build: + context: ./postgres + args: + - POSTGRES_VERSION=${POSTGRES_VERSION} volumes: - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data - ${POSTGRES_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d diff --git a/env-example b/env-example index fd14dc2..dbbbdf5 100644 --- a/env-example +++ b/env-example @@ -316,6 +316,7 @@ MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d ### POSTGRES ############################################## +POSTGRES_VERSION=alpine POSTGRES_DB=default POSTGRES_USER=default POSTGRES_PASSWORD=secret diff --git a/postgres/Dockerfile b/postgres/Dockerfile index b5f121c..67b5ea2 100644 --- a/postgres/Dockerfile +++ b/postgres/Dockerfile @@ -1,6 +1,5 @@ -FROM postgres:alpine - -LABEL maintainer="Ben M " +ARG POSTGRES_VERSION=alpine +FROM postgres:${POSTGRES_VERSION} CMD ["postgres"] From 66134095b1ca6092195adf0179c976369638e1a3 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Fri, 7 Feb 2020 22:13:23 +0100 Subject: [PATCH 151/470] update stale bot configuration to close staled issues in 21 days --- .github/stale.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/stale.yml b/.github/stale.yml index f3c36da..dfadd79 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,21 +1,21 @@ -# Configuration for probot-stale - https://github.com/probot/stale +# Configuration for Github probot-stale - https://github.com/probot/stale # Number of days of inactivity before an issue becomes stale -daysUntilStale: 180 +daysUntilStale: 90 # Number of days of inactivity before a stale issue is closed -daysUntilClose: 90 +daysUntilClose: 21 # Issues with these labels will never be considered stale exemptLabels: - 'Type: Feature Request' # Label to use when marking an issue as stale -staleLabel: 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. + Hi 👋 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. + Hi again 👋 we would like to inform you that this issue has been automatically `closed` 🔒 because it had not recent activity during the `stale` period. + We really really appreciate your contributions, and looking forward for more in the future 🎈. # Limit to only `issues` or `pulls` only: issues From 29def5f0b4dd675838ee5302ee47edd874be850f Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Fri, 7 Feb 2020 23:10:44 +0100 Subject: [PATCH 152/470] add some missing social media meta tags to the website --- .../layouts/partials/head.html | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html index 0953395..e890c0a 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html @@ -12,17 +12,23 @@ {{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }} {{ .Hugo.Generator }} - {{ with .Site.Params.description }} - - {{ end }} + {{ with .Site.Params.description }}{{ end }} - {{ with .Site.Params.author }} - - {{ end }} + {{ with .Site.Params.author }}{{ end }} + + {{ with .Site.Title }}{{ end }} + {{ with .Site.Params.description }}{{ end }} {{ with .Site.Title }}{{ end }} {{ with .Site.Params.logo }}{{ end }} + + + + {{ with .Site.Title }}{{ end }} + {{ with .Site.Params.description }}{{ end }} + {{ with .Site.Params.logo }}{{ end }} + {{ with .Site.Title }}{{ end }} From b2ae5f6d44533f057a296f038228aed330a59a25 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Tue, 11 Feb 2020 18:41:19 +0800 Subject: [PATCH 153/470] Arrange (#2499) * unify php verson variable * CASSANDRA move together * unify all php base container --- docker-compose.yml | 2 +- laravel-horizon/Dockerfile | 18 ++++++++++-------- php-fpm/Dockerfile | 9 +-------- workspace/Dockerfile | 1 - 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3c4f843..c3250a6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -282,7 +282,7 @@ services: context: ./laravel-horizon args: - CHANGE_SOURCE=${CHANGE_SOURCE} - - PHP_VERSION=${PHP_VERSION} + - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 49d0495..696a160 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -4,11 +4,13 @@ #-------------------------------------------------------------------------- # -ARG PHP_VERSION=${PHP_VERSION} -FROM php:${PHP_VERSION}-alpine +ARG LARADOCK_PHP_VERSION +FROM php:${LARADOCK_PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " +ARG LARADOCK_PHP_VERSION + # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. ARG CHANGE_SOURCE=false @@ -63,12 +65,6 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ && docker-php-ext-install pdo_pgsql \ ;fi -# Install Cassandra drivers: -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 \ @@ -84,6 +80,12 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apk add ffmpeg \ ;fi +# Install Cassandra drivers: +ARG INSTALL_CASSANDRA=false +RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ + apk --update add cassandra-cpp-driver \ + ;fi + WORKDIR /usr/src RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ git clone https://github.com/datastax/php-driver.git \ diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 1d6a8bf..a36aaf5 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -13,7 +13,6 @@ # ARG LARADOCK_PHP_VERSION - FROM laradock/php-fpm:2.7-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " @@ -194,7 +193,6 @@ RUN if [ ${INSTALL_PCOV} = true ]; then \ ;fi \ ;fi - ########################################################################### # Phpdbg: ########################################################################### @@ -330,7 +328,7 @@ ARG INSTALL_AMQP=false RUN if [ ${INSTALL_AMQP} = true ]; then \ # download and install manually, to make sure it's compatible with ampq installed by pecl later # install cmake first - apt-get update && apt-get -y install cmake && \ + apt-get -y install cmake && \ curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \ mkdir -p rabbitmq-c && \ tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \ @@ -352,7 +350,6 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ ARG INSTALL_GEARMAN=false RUN if [ ${INSTALL_GEARMAN} = true ]; then \ - apt-get update && \ apt-get -y install libgearman-dev && \ cd /tmp && \ curl -L https://github.com/wcgallego/pecl-gearman/archive/gearman-2.0.5.zip -O && \ @@ -799,7 +796,6 @@ USER root ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - apt-get update -yqq && \ if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apt-get -y install default-mysql-client \ ;else \ @@ -816,7 +812,6 @@ USER root ARG INSTALL_PING=false RUN if [ ${INSTALL_PING} = true ]; then \ - apt-get update -yqq && \ apt-get -y install inetutils-ping \ ;fi @@ -829,7 +824,6 @@ USER root ARG INSTALL_SSHPASS=false RUN if [ ${INSTALL_SSHPASS} = true ]; then \ - apt-get update -yqq && \ apt-get -y install sshpass \ ;fi @@ -842,7 +836,6 @@ USER root ARG INSTALL_FFMPEG=false RUN if [ ${INSTALL_FFMPEG} = true ]; then \ - apt-get update -yqq && \ apt-get -y install ffmpeg \ ;fi diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 6223e0a..0fa66a4 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -13,7 +13,6 @@ # ARG LARADOCK_PHP_VERSION - FROM laradock/workspace:2.6.1-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From f8b7404263d60b597995880a5e7bd2e6221ebf8f Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Tue, 11 Feb 2020 23:56:58 +0800 Subject: [PATCH 154/470] php ext bz2 (#2500) * php ext bz2 * fix typo * fix php-fpm bz2 ext * fix horizon bz2 ext --- docker-compose.yml | 4 ++++ env-example | 4 ++++ laravel-horizon/Dockerfile | 7 +++++++ php-fpm/Dockerfile | 10 ++++++++++ php-worker/Dockerfile | 7 +++++++ workspace/Dockerfile | 9 +++++++++ 6 files changed, 41 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index c3250a6..72e8645 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -64,6 +64,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} + - INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} @@ -167,6 +168,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} + - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} @@ -250,6 +252,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} + - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} @@ -283,6 +286,7 @@ services: args: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} + - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} diff --git a/env-example b/env-example index dbbbdf5..05358cf 100644 --- a/env-example +++ b/env-example @@ -100,6 +100,7 @@ WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false WORKSPACE_INSTALL_PHPREDIS=true WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_SUBVERSION=false +WORKSPACE_INSTALL_BZ2=false WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_PCOV=false WORKSPACE_INSTALL_PHPDBG=false @@ -169,6 +170,7 @@ PHP_FPM_INSTALL_OPCACHE=true PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_MEMCACHED=false +PHP_FPM_INSTALL_BZ2=false PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_XHPROF=false @@ -219,6 +221,7 @@ PHP_FPM_PGID=1000 ### PHP_WORKER ############################################ +PHP_WORKER_INSTALL_BZ2=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false PHP_WORKER_INSTALL_PHALCON=false @@ -250,6 +253,7 @@ NGINX_SSL_PATH=./nginx/ssl/ ### LARAVEL_HORIZON ################################################ +LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 696a160..965cf26 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -46,6 +46,13 @@ ENV PGID ${PGID} RUN addgroup -g ${PGID} laradock && \ adduser -D -G laradock -u ${PUID} laradock +#Install BZ2: +ARG INSTALL_BZ2=false +RUN if [ ${INSTALL_BZ2} = true ]; then \ + apk --update add bzip2-dev; \ + docker-php-ext-install bz2 \ +;fi + #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index a36aaf5..58bbe47 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -70,6 +70,16 @@ RUN set -xe; \ # - INSTALL_SOAP=true # +########################################################################### +# BZ2: +########################################################################### + +ARG INSTALL_BZ2=false +RUN if [ ${INSTALL_BZ2} = true ]; then \ + apt-get -y install libbz2-dev; \ + docker-php-ext-install bz2 \ +;fi + ########################################################################### # SSH2: ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 388940e..f55ae45 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -46,6 +46,13 @@ ENV PGID ${PGID} RUN addgroup -g ${PGID} laradock && \ adduser -D -G laradock -u ${PUID} laradock +#Install BZ2: +ARG INSTALL_BZ2=false +RUN if [ ${INSTALL_BZ2} = true ]; then \ + apk --update add bzip2-dev; \ + docker-php-ext-install bz2; \ +fi + #Install SOAP package: ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 0fa66a4..553e0ec 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -232,6 +232,15 @@ RUN if [ ${INSTALL_WP_CLI} = true ]; then \ chmod +x /usr/local/bin/wp \ ;fi +########################################################################### +# BZ2: +########################################################################### + +ARG INSTALL_BZ2=false +RUN if [ ${INSTALL_BZ2} = true ]; then \ + apt-get -y install php${LARADOCK_PHP_VERSION}-bz2 \ +;fi + ########################################################################### # SSH2: ########################################################################### From 3fe18368bd7b0a1596bd6efaa3ec30f8be17d09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Tue, 11 Feb 2020 14:58:08 -0300 Subject: [PATCH 155/470] Added option to map vue-cli ports from workspace container --- DOCUMENTATION/content/documentation/index.md | 16 +++++++++++++--- docker-compose.yml | 2 ++ env-example | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 9112767..5fbe085 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -560,8 +560,14 @@ composer update ```bash phpunit ``` - - +``` +vue serve +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_SERVE_HOST_PORT]`) +``` +vue ui +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_UI_HOST_PORT]`) @@ -1890,7 +1896,11 @@ To install NPM VUE CLI in the Workspace container 2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true` -3 - Re-build the container `docker-compose build workspace` +3 - Change `vue serve` port using `WORKSPACE_VUE_CLI_SERVE_HOST_PORT` if you wish to (default value is 8080) + +4 - Change `vue ui` port using `WORKSPACE_VUE_CLI_UI_HOST_PORT` if you wish to (default value is 8001) + +5 - Re-build the container `docker-compose build workspace` diff --git a/docker-compose.yml b/docker-compose.yml index 72e8645..084aff4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -150,6 +150,8 @@ services: - "dockerhost:${DOCKER_HOST_IP}" ports: - "${WORKSPACE_SSH_PORT}:22" + - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" + - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} diff --git a/env-example b/env-example index 05358cf..2503842 100644 --- a/env-example +++ b/env-example @@ -159,6 +159,8 @@ WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 +WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 ### PHP_FPM ############################################### From 53d13f23f7024a91f2470d8c7f72a40cc3d6f28e Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Wed, 12 Feb 2020 18:23:22 +0800 Subject: [PATCH 156/470] horizon gmp ext --- docker-compose.yml | 7 ++++--- env-example | 7 ++++--- laravel-horizon/Dockerfile | 7 +++++++ php-fpm/Dockerfile | 30 +++++++++++++++--------------- php-worker/Dockerfile | 14 +++++++------- workspace/Dockerfile | 28 ++++++++++++++-------------- 6 files changed, 51 insertions(+), 42 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2270851..79c31cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -65,12 +65,12 @@ services: - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} - INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2} + - INSTALL_GMP=${WORKSPACE_INSTALL_GMP} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2} - - INSTALL_GMP=${WORKSPACE_INSTALL_GMP} - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - INSTALL_XSL=${WORKSPACE_INSTALL_XSL} - INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP} @@ -170,6 +170,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2} + - INSTALL_GMP=${PHP_FPM_INSTALL_GMP} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} @@ -185,7 +186,6 @@ services: - INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN} - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - - INSTALL_GMP=${PHP_FPM_INSTALL_GMP} - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} @@ -254,6 +254,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2} + - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} @@ -267,7 +268,6 @@ services: - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE} - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS} - PUID=${PHP_WORKER_PUID} - PGID=${PHP_WORKER_PGID} @@ -288,6 +288,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} + - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} diff --git a/env-example b/env-example index 0f7127d..e6cb581 100644 --- a/env-example +++ b/env-example @@ -101,12 +101,12 @@ WORKSPACE_INSTALL_PHPREDIS=true WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_BZ2=false +WORKSPACE_INSTALL_GMP=false WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_PCOV=false WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_SSH2=false WORKSPACE_INSTALL_LDAP=false -WORKSPACE_INSTALL_GMP=false WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_XSL=false WORKSPACE_INSTALL_SMB=false @@ -172,6 +172,7 @@ PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_BZ2=false +PHP_FPM_INSTALL_GMP=false PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_XHPROF=false @@ -186,7 +187,6 @@ PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_SSH2=false PHP_FPM_INSTALL_SOAP=false 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 @@ -223,6 +223,7 @@ PHP_FPM_PGID=1000 ### PHP_WORKER ############################################ PHP_WORKER_INSTALL_BZ2=false +PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false PHP_WORKER_INSTALL_PHALCON=false @@ -234,7 +235,6 @@ PHP_WORKER_INSTALL_GHOSTSCRIPT=false PHP_WORKER_INSTALL_SWOOLE=false PHP_WORKER_INSTALL_TAINT=false PHP_WORKER_INSTALL_FFMPEG=false -PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_INSTALL_GEARMAN=false PHP_WORKER_INSTALL_REDIS=false @@ -255,6 +255,7 @@ NGINX_SSL_PATH=./nginx/ssl/ ### LARAVEL_HORIZON ################################################ LARAVEL_HORIZON_INSTALL_BZ2=false +LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index 965cf26..e8ca7ab 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2 \ ;fi +#Install GMP package: +ARG INSTALL_GMP=false +RUN if [ ${INSTALL_GMP} = true ]; then \ + apk add --update --no-cache gmp gmp-dev; \ + docker-php-ext-install gmp \ +;fi + #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 58bbe47..b3246ed 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -80,6 +80,21 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2 \ ;fi +########################################################################### +# GMP (GNU Multiple Precision): +########################################################################### + +ARG INSTALL_GMP=false + +RUN if [ ${INSTALL_GMP} = true ]; then \ + # Install the GMP extension + apt-get install -y libgmp-dev && \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \ + ;fi && \ + docker-php-ext-install gmp \ +;fi + ########################################################################### # SSH2: ########################################################################### @@ -397,21 +412,6 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \ docker-php-ext-install bcmath \ ;fi -########################################################################### -# GMP (GNU Multiple Precision): -########################################################################### - -ARG INSTALL_GMP=false - -RUN if [ ${INSTALL_GMP} = true ]; then \ - # Install the GMP extension - apt-get install -y libgmp-dev && \ - if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ - ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \ - ;fi && \ - docker-php-ext-install gmp \ -;fi - ########################################################################### # PHP Memcached: ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index f55ae45..4717054 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2; \ fi +#Install GMP package: +ARG INSTALL_GMP=false +RUN if [ ${INSTALL_GMP} = true ]; then \ + apk add --update --no-cache gmp gmp-dev \ + && docker-php-ext-install gmp \ +;fi + #Install SOAP package: ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ @@ -162,13 +169,6 @@ RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \ apk --update add ghostscript \ ;fi -#Install GMP package: -ARG INSTALL_GMP=false -RUN if [ ${INSTALL_GMP} = true ]; then \ - apk add --update --no-cache gmp gmp-dev \ - && docker-php-ext-install gmp \ -;fi - # Install Redis package: ARG INSTALL_REDIS=false RUN if [ ${INSTALL_REDIS} = true ]; then \ diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 833eaea..267cc16 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -242,20 +242,7 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ ;fi ########################################################################### -# SSH2: -########################################################################### - -USER root - -ARG INSTALL_SSH2=false - -RUN if [ ${INSTALL_SSH2} = true ]; then \ - # Install the PHP SSH2 extension - apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \ -;fi - -########################################################################### -# GMP: +# GMP (GNU Multiple Precision): ########################################################################### USER root @@ -268,6 +255,19 @@ RUN if [ ${INSTALL_GMP} = true ]; then \ apt-get -y install php${LARADOCK_PHP_VERSION}-gmp \ ;fi +########################################################################### +# SSH2: +########################################################################### + +USER root + +ARG INSTALL_SSH2=false + +RUN if [ ${INSTALL_SSH2} = true ]; then \ + # Install the PHP SSH2 extension + apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \ +;fi + ########################################################################### # SOAP: ########################################################################### From 8e6a2a4f3c813fb0ef11b01dbdce3d021c68dc48 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Thu, 13 Feb 2020 23:24:07 +0100 Subject: [PATCH 157/470] Update docker-in-docker (dind) - not working with 18.09+ version --- docker-compose.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 79c31cc..2d0c750 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,7 +49,7 @@ volumes: driver: ${VOLUMES_DRIVER} graylog: driver: ${VOLUMES_DRIVER} - dind: + docker-in-docker: driver: ${VOLUMES_DRIVER} services: @@ -154,7 +154,10 @@ services: tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - - DOCKER_HOST=tcp://docker-in-docker:2375 + - DOCKER_HOST=tcp://docker-in-docker:2376 + - DOCKER_TLS_VERIFY=1 + - DOCKER_TLS_CERTDIR=/certs + - DOCKER_CERT_PATH=/certs/client networks: - frontend - backend @@ -230,13 +233,17 @@ services: volumes: - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} + - docker-in-docker:/certs/client expose: - "9000" extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - - DOCKER_HOST=tcp://docker-in-docker:2375 + - DOCKER_HOST=tcp://docker-in-docker:2376 + - DOCKER_TLS_VERIFY=1 + - DOCKER_TLS_CERTDIR=/certs + - DOCKER_CERT_PATH=/certs/client - FAKETIME=${PHP_FPM_FAKETIME} depends_on: - workspace @@ -1268,11 +1275,13 @@ services: ### Docker-in-Docker ################################################ docker-in-docker: - image: docker:dind + image: docker:19.03-dind + environment: + DOCKER_TLS_SAN: DNS:docker-in-docker privileged: true volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - - ${DATA_PATH_HOST}/dind:/var/lib/docker + - docker-in-docker:/certs/client expose: - 2375 networks: From 3124ad8d7679bd47c8f7c58a156ccf15457cb8c7 Mon Sep 17 00:00:00 2001 From: Valentino Lauciani Date: Thu, 13 Feb 2020 23:26:33 +0100 Subject: [PATCH 158/470] Update docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 2d0c750..f73640b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -146,6 +146,7 @@ services: - no_proxy volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} + - docker-in-docker:/certs/client - ./php-worker/supervisord.d:/etc/supervisord.d extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" From ab4e06f270ae83d6e41702b2b652a980b12816ce Mon Sep 17 00:00:00 2001 From: Jordy Schreuders <3071062+99linesofcode@users.noreply.github.com> Date: Fri, 14 Feb 2020 15:15:04 +0100 Subject: [PATCH 159/470] Default to host.docker.internal --- php-fpm/xdebug.ini | 5 ++--- workspace/xdebug.ini | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/php-fpm/xdebug.ini b/php-fpm/xdebug.ini index c3f32ec..ba50bb8 100644 --- a/php-fpm/xdebug.ini +++ b/php-fpm/xdebug.ini @@ -1,7 +1,7 @@ ; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini) -; xdebug.remote_host=dockerhost -xdebug.remote_connect_back=1 +xdebug.remote_host="host.docker.internal" +xdebug.remote_connect_back=0 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM @@ -17,4 +17,3 @@ xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 - diff --git a/workspace/xdebug.ini b/workspace/xdebug.ini index c3f32ec..ba50bb8 100644 --- a/workspace/xdebug.ini +++ b/workspace/xdebug.ini @@ -1,7 +1,7 @@ ; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini) -; xdebug.remote_host=dockerhost -xdebug.remote_connect_back=1 +xdebug.remote_host="host.docker.internal" +xdebug.remote_connect_back=0 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM @@ -17,4 +17,3 @@ xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1 - From 6eeb0c838864dd3bbbae399c62ad47cbac84fb93 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Tue, 18 Feb 2020 09:56:45 +0800 Subject: [PATCH 160/470] xdebug drop support php7.0 --- php-fpm/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 85f30b9..fbe8a3a 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -189,7 +189,11 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ pecl install xdebug-2.5.5; \ else \ - pecl install xdebug; \ + if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ + pecl install xdebug-2.9.0; \ + else \ + pecl install xdebug; \ + fi \ fi && \ docker-php-ext-enable xdebug \ ;fi From 884e481c0c874f8d6748da1cbd9bf7e347db8b67 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Tue, 18 Feb 2020 13:45:23 +0800 Subject: [PATCH 161/470] fix php7.4 ssh2 extension. --- php-fpm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index fbe8a3a..b89af53 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -107,7 +107,7 @@ RUN if [ ${INSTALL_SSH2} = true ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ pecl install -a ssh2-0.13; \ else \ - pecl install -a ssh2-1.1.2; \ + pecl install -a ssh2-1.2; \ fi && \ docker-php-ext-enable ssh2 \ ;fi From 8f411417f5ab7ad17c46ca27ee25cf001c25f317 Mon Sep 17 00:00:00 2001 From: metalcamp <21967668+metalcamp@users.noreply.github.com> Date: Tue, 18 Feb 2020 19:37:00 +0100 Subject: [PATCH 162/470] fix: use native mysql password as default auth fixes connection refused errors described here: https://github.com/laradock/laradock/issues/1752 https://github.com/laradock/laradock/issues/2105 --- mysql/my.cnf | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql/my.cnf b/mysql/my.cnf index e03ccf8..1a6f236 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -8,3 +8,4 @@ [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8 +default-authentication-plugin=mysql_native_password From cb574599ca82b1609dddd4fec108e031a8adc11d Mon Sep 17 00:00:00 2001 From: Mario Kranjec Date: Wed, 19 Feb 2020 12:44:06 +0100 Subject: [PATCH 163/470] fix: mysql-client has no installation candidate --- php-fpm/Dockerfile | 4 ---- php-worker/Dockerfile | 4 ---- 2 files changed, 8 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index b89af53..c638e68 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -810,11 +810,7 @@ USER root ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apt-get -y install default-mysql-client \ - ;else \ - apt-get -y install mysql-client \ - ;fi \ ;fi ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 4717054..5b2319e 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -96,11 +96,7 @@ RUN set -eux; \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \ apk --update add default-mysql-client \ - ;else \ - apk --update add mysql-client \ - ;fi \ ;fi # Install FFMPEG: From 51ff09c18706eb0dd0d8663c940c38697d89482f Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Mon, 24 Feb 2020 13:31:52 +0800 Subject: [PATCH 164/470] horizon zip ext. --- docker-compose.yml | 1 + env-example | 1 + laravel-horizon/Dockerfile | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a0266f8..5e5e25c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -302,6 +302,7 @@ services: - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} + - INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} diff --git a/env-example b/env-example index 89e4a10..27b1bf4 100644 --- a/env-example +++ b/env-example @@ -262,6 +262,7 @@ LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false +LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_FFMPEG=false diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index e8ca7ab..b8797ff 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -79,6 +79,20 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ && docker-php-ext-install pdo_pgsql \ ;fi +# Install ZipArchive: +ARG INSTALL_ZIP_ARCHIVE=false +RUN set -eux; \ + if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ + apk --update add libzip-dev && \ + if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \ + docker-php-ext-configure zip; \ + else \ + docker-php-ext-configure zip --with-libzip; \ + fi && \ + # Install the zip extension + docker-php-ext-install zip \ +;fi + # Install PhpRedis package: ARG INSTALL_PHPREDIS=false RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ From 18ca604537913e3a5fa0dfeac80e2a122ac6a576 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Mon, 24 Feb 2020 13:53:54 +0800 Subject: [PATCH 165/470] php worker horizon support gd ext. --- docker-compose.yml | 2 ++ env-example | 2 ++ laravel-horizon/Dockerfile | 7 +++++++ php-worker/Dockerfile | 7 +++++++ 4 files changed, 18 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a0266f8..5c5da36 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -266,6 +266,7 @@ services: - LARADOCK_PHP_VERSION=${PHP_VERSION} - PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2} + - INSTALL_GD=${PHP_WORKER_INSTALL_GD} - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} @@ -300,6 +301,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} + - INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} diff --git a/env-example b/env-example index 89e4a10..2569587 100644 --- a/env-example +++ b/env-example @@ -227,6 +227,7 @@ PHP_FPM_PGID=1000 ### PHP_WORKER ############################################ PHP_WORKER_INSTALL_BZ2=false +PHP_WORKER_INSTALL_GD=false PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_BCMATH=false @@ -259,6 +260,7 @@ NGINX_SSL_PATH=./nginx/ssl/ ### LARAVEL_HORIZON ################################################ LARAVEL_HORIZON_INSTALL_BZ2=false +LARAVEL_HORIZON_INSTALL_GD=false LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile index e8ca7ab..bb06711 100644 --- a/laravel-horizon/Dockerfile +++ b/laravel-horizon/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2 \ ;fi +#Install GD package: +ARG INSTALL_GD=false +RUN if [ ${INSTALL_GD} = true ]; then \ + apk add --update --no-cache libpng-dev; \ + docker-php-ext-install gd \ +;fi + #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 4717054..2add1ed 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \ docker-php-ext-install bz2; \ fi +#Install GD package: +ARG INSTALL_GD=false +RUN if [ ${INSTALL_GD} = true ]; then \ + apk add --update --no-cache libpng-dev; \ + docker-php-ext-install gd \ +;fi + #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ From e8dbb0e0f19933e9b00d2cc02cc74c3345273d65 Mon Sep 17 00:00:00 2001 From: Gino Pane Date: Tue, 25 Feb 2020 22:26:03 +0300 Subject: [PATCH 166/470] Fix #2506 Updates: - AST extension is no longer installed for unsupported PHP versions --- workspace/Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 07c99ad..48d9ebc 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -585,10 +585,13 @@ ARG AST_VERSION=1.0.3 ENV AST_VERSION ${AST_VERSION} RUN if [ ${INSTALL_AST} = true ]; then \ - # Install AST extension - printf "\n" | pecl -q install ast-${AST_VERSION} && \ - echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \ - phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \ + # AST extension requires PHP 7.0.0 or newer + if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \ + # Install AST extension + printf "\n" | pecl -q install ast-${AST_VERSION} && \ + echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \ + phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \ + ;fi \ ;fi ########################################################################### From 5a78f09eb4098410c01c65985772c9df8d657aa0 Mon Sep 17 00:00:00 2001 From: BAGArt Date: Wed, 26 Feb 2020 09:40:06 +0300 Subject: [PATCH 167/470] Update index.md add Laradock Multi --- DOCUMENTATION/content/related-projects/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index a55343f..f3c2aff 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,7 +1,7 @@ --- -title: 6. Related Projects +title: 9. Related Projects type: index -weight: 6 +weight: 9 --- Laradock related projects: @@ -15,5 +15,7 @@ These Docker Compose projects have piqued our interest: * [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti) * [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea) * [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) +* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template +for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) If you want your project listed here, please open an issue. From 29f7cbdc7e1f8979351969aa9e20c7fea5ccaeb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= Date: Tue, 3 Mar 2020 15:14:33 -0300 Subject: [PATCH 168/470] Added option to map Browsersync ports from workspace container --- DOCUMENTATION/content/documentation/index.md | 25 ++++++++++++++++++++ docker-compose.yml | 2 ++ env-example | 2 ++ 3 files changed, 29 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8bf6247..070ecde 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -617,6 +617,31 @@ docker-compose up -d php-worker +
+ +## Use Browsersync with Laravel Mix + +1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options. +``` +const mix = require('laravel-mix') + +(...) + +mix.browserSync({ + open: false, + proxy: 'nginx' // replace with your web server container +}) +``` + +2. Run `npm run watch` within your `workspace` container. + +3. Open your browser and visit address `http://localhost:[WORKSPACE_BROWSERSYNC_HOST_PORT]`. It will refresh the page automatically whenever you edit any source file in your project. + +4. If you wish to access Browsersync UI for your project, visit address `http://localhost:[WORKSPACE_BROWSERSYNC_UI_HOST_PORT]`. + + + +
## Use Mailu diff --git a/docker-compose.yml b/docker-compose.yml index 63dbded..9e92bbf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -153,6 +153,8 @@ services: - "dockerhost:${DOCKER_HOST_IP}" ports: - "${WORKSPACE_SSH_PORT}:22" + - "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000" + - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001" - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" tty: true diff --git a/env-example b/env-example index 43d913d..c699329 100644 --- a/env-example +++ b/env-example @@ -160,6 +160,8 @@ WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_BROWSERSYNC_HOST_PORT=3000 +WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001 WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_INSTALL_GIT_PROMPT=false From 62747a2870adc967076de368040326dc69d1f268 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Thu, 12 Mar 2020 09:39:45 +0800 Subject: [PATCH 169/470] Update Dockerfile php-worker fix add package name --- php-worker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index 5b2319e..8b18ba8 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -96,7 +96,7 @@ RUN set -eux; \ # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ - apk --update add default-mysql-client \ + apk --update add mysql-client \ ;fi # Install FFMPEG: From c5c8c9bc8587b4e533e028f6f16177468014f3b3 Mon Sep 17 00:00:00 2001 From: pushorigin Date: Fri, 13 Mar 2020 03:16:39 +0300 Subject: [PATCH 170/470] new feature: Install Oh My ZSH! with Laravel autocomplete plugin --- DOCUMENTATION/content/documentation/index.md | 31 ++++++++++++++++---- docker-compose.yml | 1 + env-example | 8 ++++- workspace/Dockerfile | 31 ++++++++++++++++++++ 4 files changed, 64 insertions(+), 7 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8bf6247..c6e54ca 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -793,20 +793,20 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con ## Use Varnish The goal was to proxy request to varnish server using nginx. So only nginx has been configured for Varnish proxy. -Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). +Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). -The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) +The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) The Varnish configuration was developed and tested for Wordpress only. Probably it works with other systems. #### Steps to configure varnish proxy server: 1. You have to set domain name for VARNISH_PROXY1_BACKEND_HOST variable. 2. If you want to use varnish for different domains, you have to add new configuration section in your env file. - ``` + ``` VARNISH_PROXY1_CACHE_SIZE=128m VARNISH_PROXY1_BACKEND_HOST=replace_with_your_domain.name VARNISH_PROXY1_SERVER=SERVER1 - ``` + ``` 3. Then you have to add new config section into docker-compose.yml with related variables: ``` custom_proxy_name: @@ -828,7 +828,7 @@ The Varnish configuration was developed and tested for Wordpress only. Probably - workspace networks: - frontend - ``` + ``` 4. change your varnish config and add nginx configuration. Example Nginx configuration is here: `nginx/sites/laravel_varnish.conf.example`. 5. `varnish/default.vcl` is old varnish configuration, which was used in the previous version. Use `default_wordpress.vcl` instead. @@ -2011,7 +2011,7 @@ To install Supervisor in the Workspace container 3 - Create supervisor configuration file (for ex., named `laravel-worker.conf`) for Laravel Queue Worker in `php-worker/supervisord.d/` by simply copy from `laravel-worker.conf.example` -4 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` +4 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` @@ -2162,8 +2162,27 @@ A bash prompt that displays information about the current git repository. In par **Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container. For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt). +
+ +## Install Oh My ZSH! with Laravel autocomplete plugin +[Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. +[Oh My Zsh](https://ohmyz.sh/) is a delightful, open source, community-driven framework for managing your Zsh configuration. + +[Laravel autocomplete plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/laravel) adds aliases and autocompletion for Laravel Artisan and Bob command-line interfaces. + +1 - Open the `.env` file + +2 - Search for the `SHELL_OH_MY_ZSH` argument under the Workspace Container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace` + +5 - Use it `docker-compose exec --user=laradock workspace zsh` + +**Note** You can configure Oh My ZSH by editing the `/home/laradock/.zshrc` in running container.
diff --git a/docker-compose.yml b/docker-compose.yml index 63dbded..5c353a2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,6 +60,7 @@ services: context: ./workspace args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH} - UBUNTU_SOURCE=${UBUNTU_SOURCE} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} diff --git a/env-example b/env-example index 43d913d..6661780 100644 --- a/env-example +++ b/env-example @@ -78,6 +78,12 @@ UBUNTU_SOURCE=aliyun # If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required DOCKER_SYNC_STRATEGY=native_osx +### Install Oh My ZSH! #################################### + +# If you want to use "Oh My ZSH!" with Laravel autocomplete plugin, set SHELL_OH_MY_ZSH to true. + +SHELL_OH_MY_ZSH=false + ########################################################### ################ Containers Customization ################# ########################################################### @@ -859,7 +865,7 @@ GEARMAN_MYSQL_PORT=3306 # Mysql server user (Default: root) GEARMAN_MYSQL_USER=root # Mysql password -GEARMAN_MYSQL_PASSWORD= +GEARMAN_MYSQL_PASSWORD= # Path to file with mysql password(Docker secrets) GEARMAN_MYSQL_PASSWORD_FILE= # Database to use by Gearman (Default: Gearmand) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 48d9ebc..8d00c47 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1304,6 +1304,37 @@ RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \ RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}." +########################################################################### +# Oh My ZSH! +########################################################################### + +USER root + +ARG SHELL_OH_MY_ZSH=false +RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \ + apt install -y zsh \ +;fi + +USER laradock +RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \ + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --keep-zshrc" && \ + sed -i -r 's/^plugins=\(.*?\)$/plugins=(laravel5)/' /home/laradock/.zshrc && \ + echo '\n\ +bindkey "^[OB" down-line-or-search\n\ +bindkey "^[OC" forward-char\n\ +bindkey "^[OD" backward-char\n\ +bindkey "^[OF" end-of-line\n\ +bindkey "^[OH" beginning-of-line\n\ +bindkey "^[[1~" beginning-of-line\n\ +bindkey "^[[3~" delete-char\n\ +bindkey "^[[4~" end-of-line\n\ +bindkey "^[[5~" up-line-or-history\n\ +bindkey "^[[6~" down-line-or-history\n\ +bindkey "^?" backward-delete-char\n' >> /home/laradock/.zshrc \ +;fi + +USER root + # #-------------------------------------------------------------------------- # Final Touch From c4c2f9130624bcdae03862e07f7bc8a44a35bed8 Mon Sep 17 00:00:00 2001 From: "DESK0253\\Leo" Date: Wed, 8 Apr 2020 09:57:00 +0800 Subject: [PATCH 171/470] fix: change sources shell permission denied --- workspace/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 8d00c47..f90679b 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -50,6 +50,7 @@ ARG UBUNTU_SOURCE COPY ./sources.sh /tmp/sources.sh RUN if [ ${CHANGE_SOURCE} = true ]; then \ + chmod +x /tmp/sources.sh && \ /bin/sh -c /tmp/sources.sh && \ rm -rf /tmp/sources.sh \ ;fi From 102d3c88287eb3882f7e2a24c2825bc02474c479 Mon Sep 17 00:00:00 2001 From: Jeremy Nikolic Date: Fri, 10 Apr 2020 10:15:58 +0200 Subject: [PATCH 172/470] Add ElasticSearch plugin command alternative for ES >5.0 versions --- DOCUMENTATION/content/documentation/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 8cb4aa9..f573a65 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1209,6 +1209,12 @@ docker-compose up -d elasticsearch ```bash docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} ``` +For ElasticSearch 5.0 and above, the previous "plugin" command as been renamed to "elasticsearch-plguin". +Use the following instead: + +```bash +docker-compose exec elasticsearch /usr/share/elasticsearch/bin/elasticsearch-plugin install {plugin-name} +``` 2 - Restart elasticsearch container From a2581bda5f99f2dcac11a3f006e7f1f2873f5691 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Fri, 17 Apr 2020 11:57:50 +0800 Subject: [PATCH 173/470] use latest base image --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 3 ++- workspace/Dockerfile | 3 ++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 53bf2c9..3864bde 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,6 +62,7 @@ services: - CHANGE_SOURCE=${CHANGE_SOURCE} - SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH} - UBUNTU_SOURCE=${UBUNTU_SOURCE} + - BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} @@ -177,6 +178,7 @@ services: context: ./php-fpm args: - CHANGE_SOURCE=${CHANGE_SOURCE} + - BASE_IMAGE_TAG_PREFIX=${PHP_FPM_BASE_IMAGE_TAG_PREFIX} - LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2} diff --git a/env-example b/env-example index 0d52acb..ee6eee4 100644 --- a/env-example +++ b/env-example @@ -90,6 +90,7 @@ SHELL_OH_MY_ZSH=false ### WORKSPACE ############################################# +WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest WORKSPACE_COMPOSER_GLOBAL_INSTALL=true WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_REPO_PACKAGIST= @@ -174,6 +175,7 @@ WORKSPACE_INSTALL_GIT_PROMPT=false ### PHP_FPM ############################################### +PHP_FPM_BASE_IMAGE_TAG_PREFIX=latest PHP_FPM_INSTALL_BCMATH=true PHP_FPM_INSTALL_MYSQLI=true PHP_FPM_INSTALL_INTL=true diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index c638e68..9d5f895 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -13,7 +13,8 @@ # ARG LARADOCK_PHP_VERSION -FROM laradock/php-fpm:2.7-${LARADOCK_PHP_VERSION} +ARG BASE_IMAGE_TAG_PREFIX=latest +FROM laradock/php-fpm:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f90679b..4a105bb 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -13,7 +13,8 @@ # ARG LARADOCK_PHP_VERSION -FROM laradock/workspace:2.6.1-${LARADOCK_PHP_VERSION} +ARG BASE_IMAGE_TAG_PREFIX=latest +FROM laradock/workspace:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt " From e2331171b0f6d52f7a49b943a62f621df04487eb Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:10:40 +0800 Subject: [PATCH 174/470] use Github Actions run CI --- .github/workflows/main-ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/main-ci.yml diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml new file mode 100644 index 0000000..5d21097 --- /dev/null +++ b/.github/workflows/main-ci.yml @@ -0,0 +1,19 @@ +name: Docker Image CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + php_version: [72, 73] + service: [php-fpm, php-worker] + steps: + - uses: actions/checkout@v2 + - name: Build the Docker image + env: + PHP_VERSION: ${{ matrix.php_version }} + run: | + cp env-example .env + docker-compose build ${{ matrix.service }} From 941960df82d295919c036eb7812a01a437a4690e Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:12:57 +0800 Subject: [PATCH 175/470] Update main-ci.yml --- .github/workflows/main-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 5d21097..11e7c0a 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: [72, 73] + php_version: ["7.2", "7.3"] service: [php-fpm, php-worker] steps: - uses: actions/checkout@v2 From fbaaff619ac5f772a52c6d4822a7dd786879cd5b Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 13:14:06 +0800 Subject: [PATCH 176/470] Update main-ci.yml --- .github/workflows/main-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 11e7c0a..e301d43 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -12,8 +12,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Build the Docker image - env: - PHP_VERSION: ${{ matrix.php_version }} run: | cp env-example .env + sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${{ matrix.php_version }}/g" .env docker-compose build ${{ matrix.service }} From e6eb2ef1eb67f1249fba6fed2fb847385093279b Mon Sep 17 00:00:00 2001 From: Jefferson Santos Date: Fri, 17 Apr 2020 02:54:29 -0300 Subject: [PATCH 177/470] Fix Deployer documentation link --- DOCUMENTATION/content/documentation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index f573a65..6294914 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -395,7 +395,7 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube. 4 - Re-build the containers `docker-compose build workspace` -[**Deployer Documentation Here**](https://deployer.org/docs) +[**Deployer Documentation Here**](https://deployer.org/docs/getting-started.html) From 56e10f119827042c0d5b52c02e17b81f5578e2fe Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Fri, 17 Apr 2020 14:03:08 +0800 Subject: [PATCH 178/470] Update main-ci.yml --- .github/workflows/main-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index e301d43..e01d283 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -1,4 +1,4 @@ -name: Docker Image CI +name: CI on: [push, pull_request] @@ -7,12 +7,13 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: ["7.2", "7.3"] - service: [php-fpm, php-worker] + php_version: ["7.1", "7.2", "7.3", "7.4"] + service: [php-fpm, php-worker, workspace, laravel-horizon] steps: - uses: actions/checkout@v2 - name: Build the Docker image + env: + PHP_VERSION: ${{ matrix.php_version }} run: | cp env-example .env - sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${{ matrix.php_version }}/g" .env docker-compose build ${{ matrix.service }} From 1dd78c0b0465d416961fcb1c7e6aff9bcc4b171a Mon Sep 17 00:00:00 2001 From: Carlos Clayton Date: Mon, 20 Apr 2020 08:00:13 -0300 Subject: [PATCH 179/470] Installing Filebeat plugin Add support to Filebeat with logstash-input-beats plugin --- logstash/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/logstash/Dockerfile b/logstash/Dockerfile index 161d381..1a1a753 100644 --- a/logstash/Dockerfile +++ b/logstash/Dockerfile @@ -8,4 +8,5 @@ ADD ./pipeline/ /usr/share/logstash/pipeline/ ADD ./config/ /usr/share/logstash/config/ RUN logstash-plugin install logstash-input-jdbc +RUN logstash-plugin install logstash-input-beats From 2fd9ccff6a50729ae833dd91484c73881f401c60 Mon Sep 17 00:00:00 2001 From: Pierre Grimaud Date: Fri, 24 Apr 2020 01:16:34 +0200 Subject: [PATCH 180/470] Fix typos --- DOCUMENTATION/content/contributing/index.md | 2 +- env-example | 2 +- workspace/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index dbe3efb..78798a9 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -100,7 +100,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI * Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source.. -*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.* +*Most of the image in Laradock are official images, these projects live in other repositories and maintainer by other organizations.* **Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine. diff --git a/env-example b/env-example index ee6eee4..856f842 100644 --- a/env-example +++ b/env-example @@ -32,7 +32,7 @@ COMPOSE_FILE=docker-compose.yml # Change the separator from : to ; on Windows COMPOSE_PATH_SEPARATOR=: -# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project. +# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have separate containers per project. COMPOSE_PROJECT_NAME=laradock ### PHP Version ########################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 4a105bb..57afb56 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -75,7 +75,7 @@ RUN set -xe; \ # to add more Software's or remove existing one, you need to edit the # base image (https://github.com/Laradock/workspace). # - # next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 + # next lines are here because there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 libzip-dev zip unzip \ # Install the zip extension php${LARADOCK_PHP_VERSION}-zip \ From 5a28b9c4d87fceb7845332127fc3a489a499e51a Mon Sep 17 00:00:00 2001 From: Yidir <9355724+Yiidiir@users.noreply.github.com> Date: Tue, 28 Apr 2020 03:12:26 +0100 Subject: [PATCH 181/470] Expose Angular CLI serve port When enabling angular, exposure to the default serve port is not done normally like it's done with VUE CLI --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3864bde..fcb7df3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -159,6 +159,7 @@ services: - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001" - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080" - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000" + - "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200" tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} From 4797c38199531eb8b6d575adc59b23267fd7404d Mon Sep 17 00:00:00 2001 From: Subhadip Naskar Date: Tue, 28 Apr 2020 10:29:25 +0530 Subject: [PATCH 182/470] Added DockerStacks link to related projects --- DOCUMENTATION/content/related-projects/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index f3c2aff..c14aa2d 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,7 +1,7 @@ --- -title: 9. Related Projects +title: 10. Related Projects type: index -weight: 9 +weight: 10 --- Laradock related projects: @@ -17,5 +17,6 @@ These Docker Compose projects have piqued our interest: * [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) * [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) +* [DockerStacks](https://github.com/sfx101/docker-stacks) by [Subhadip Naskar](https://github.com/sfx101) - DockerStacks is a laradock GUI build on top of docker, electron.js, node-pty, xterm.js and the awesome laradock If you want your project listed here, please open an issue. From 5824676e30645a32a43a23528d2150efe1e93dfd Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Wed, 29 Apr 2020 07:10:47 +0200 Subject: [PATCH 183/470] Improve docs readability & performance --- .github/FUNDING.yml | 1 + DOCUMENTATION/config.toml | 21 ++---- DOCUMENTATION/content/contributing/index.md | 20 +++-- DOCUMENTATION/content/documentation/index.md | 70 +++++++++++------- .../content/getting-started/index.md | 28 +++---- DOCUMENTATION/content/help/index.md | 4 +- DOCUMENTATION/content/introduction/index.md | 21 ++++-- DOCUMENTATION/content/license/index.md | 7 -- .../content/related-projects/index.md | 60 +++++++++++---- .../layouts/_default/__list.html | 1 + .../layouts/_default/single.html | 1 + .../hugo-material-docs/layouts/index.html | 3 +- .../layouts/partials/head.html | 19 +++++ .../images/favicons/android-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/android-icon-192x192.png | Bin 0 -> 7505 bytes .../images/favicons/android-icon-36x36.png | Bin 0 -> 1973 bytes .../images/favicons/android-icon-48x48.png | Bin 0 -> 2440 bytes .../images/favicons/android-icon-72x72.png | Bin 0 -> 3312 bytes .../images/favicons/android-icon-96x96.png | Bin 0 -> 4382 bytes .../images/favicons/apple-icon-114x114.png | Bin 0 -> 5219 bytes .../images/favicons/apple-icon-120x120.png | Bin 0 -> 5407 bytes .../images/favicons/apple-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/apple-icon-152x152.png | Bin 0 -> 7265 bytes .../images/favicons/apple-icon-180x180.png | Bin 0 -> 8820 bytes .../images/favicons/apple-icon-57x57.png | Bin 0 -> 2743 bytes .../images/favicons/apple-icon-60x60.png | Bin 0 -> 2900 bytes .../images/favicons/apple-icon-72x72.png | Bin 0 -> 3312 bytes .../images/favicons/apple-icon-76x76.png | Bin 0 -> 3484 bytes .../favicons/apple-icon-precomposed.png | Bin 0 -> 8081 bytes .../static/images/favicons/apple-icon.png | Bin 0 -> 8081 bytes .../static/images/favicons/browserconfig.xml | 2 + .../static/images/favicons/favicon-16x16.png | Bin 0 -> 1411 bytes .../static/images/favicons/favicon-32x32.png | Bin 0 -> 1794 bytes .../static/images/favicons/favicon-96x96.png | Bin 0 -> 4382 bytes .../static/images/favicons/favicon.ico | Bin 0 -> 1150 bytes .../static/images/favicons/manifest.json | 41 ++++++++++ .../images/favicons/ms-icon-144x144.png | Bin 0 -> 6754 bytes .../images/favicons/ms-icon-150x150.png | Bin 0 -> 7196 bytes .../images/favicons/ms-icon-310x310.png | Bin 0 -> 19549 bytes .../static/images/favicons/ms-icon-70x70.png | Bin 0 -> 3257 bytes .../static/images/laradock-full-logo.jpg | Bin 0 -> 293572 bytes README.md | 4 +- 42 files changed, 208 insertions(+), 95 deletions(-) delete mode 100644 DOCUMENTATION/content/license/index.md create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-192x192.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-36x36.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-48x48.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-72x72.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/android-icon-96x96.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-114x114.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-120x120.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-152x152.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-180x180.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-57x57.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-60x60.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-72x72.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-76x76.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon-precomposed.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/apple-icon.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/browserconfig.xml create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-16x16.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-32x32.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon-96x96.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/favicon.ico create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/manifest.json create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-144x144.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-150x150.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-310x310.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/favicons/ms-icon-70x70.png create mode 100644 DOCUMENTATION/themes/hugo-material-docs/static/images/laradock-full-logo.jpg diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 4000502..cc034fc 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -3,3 +3,4 @@ github: Mahmoudz open_collective: laradock custom: ['paypal.me/mzmmzz'] +patreon: zalt diff --git a/DOCUMENTATION/config.toml b/DOCUMENTATION/config.toml index 56e4fe0..d6c3a73 100644 --- a/DOCUMENTATION/config.toml +++ b/DOCUMENTATION/config.toml @@ -20,8 +20,8 @@ googleAnalytics = "UA-37514928-9" repo_url = "https://github.com/laradock/laradock" version = "" - logo = "images/logo.png" - favicon = "" + logo = "images/favicons/ms-icon-310x310.png" + favicon = "images/favicons/favicon.ico" permalink = "#" @@ -48,40 +48,35 @@ googleAnalytics = "UA-37514928-9" # ------- MENU START ----------------------------------------- [[menu.main]] - name = "1. Introduction" + name = "Introduction" url = "introduction/" weight = 1 [[menu.main]] - name = "2. Getting Started" + name = "Getting Started" url = "getting-started/" weight = 2 [[menu.main]] - name = "3. Documentation" + name = "Documentation" url = "documentation/" weight = 3 [[menu.main]] - name = "4. Help & Questions" + name = "Help & Questions" url = "help/" weight = 4 [[menu.main]] - name = "5. Related Projects" + name = "Related Projects" url = "related-projects/" weight = 5 [[menu.main]] - name = "6. Contributing" + name = "Contributions" url = "contributing/" weight = 6 -[[menu.main]] - name = "7. License" - url = "license/" - weight = 7 - # ------- MENU END ----------------------------------------- [blackfriday] diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index dbe3efb..0b01941 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -1,7 +1,7 @@ --- -title: 7. Contributing +title: Contributions type: index -weight: 7 +weight: 6 --- @@ -51,12 +51,20 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI ### Host the documentation locally +**Option 1: Use Hugo Docker Image:** + +1. Update the `DOCUMENTATION/content`. +2. Go to `DOCUMENTATION/`. +3. Run `docker run --rm -it -v $PWD:/src -p 1313:1313 -u hugo jguyomard/hugo-builder hugo server -w --bind=0.0.0.0` +4. Visit [http://localhost:1313/](http://localhost:1313/) + +**Option 2: Install Hugo Locally:** + 1. Install [Hugo](https://gohugo.io/) on your machine. -2. Edit the `DOCUMENTATION/content`. +2. Update the `DOCUMENTATION/content`. 3. Delete the `/docs` folder from the root. -4. After you finish the editing, go to `DOCUMENTATION/` and run the `hugo` command to generate the HTML docs (inside a new `/docs` folder). - - +4. Go to `DOCUMENTATION/`. +5. Run the `hugo` command to generate the HTML docs inside a new `/docs` folder. ## Support new Software (Add new Container) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index f573a65..5eae9a0 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1,5 +1,5 @@ --- -title: 3. Documentation +title: Documentation type: index weight: 3 --- @@ -57,7 +57,9 @@ docker-compose down
-## Enter a Container (run commands in a running Container) +## Enter a Container + +> Run commands in a running Container. 1 - First list the current running containers with `docker ps` @@ -88,7 +90,8 @@ docker-compose exec mysql mysql -udefault -psecret
-## Edit default container configuration +## Edit default Container config + Open the `docker-compose.yml` and change anything you want. Examples: @@ -161,7 +164,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo
-## Add more Software (Docker Images) +## Add more Docker Images To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/compose-file/). @@ -384,7 +387,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
-## Install Deployer (Deployment tool for PHP) +## Install Deployer + +> A deployment tool for PHP. 1 - Open the `.env` file
@@ -402,7 +407,10 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
-## Install SonarQube (automatic code review tool) +## Install SonarQube + +> An automatic code review tool. + SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
1 - Open the `.env` file @@ -463,14 +471,6 @@ To learn more about how Docker publishes ports, please read [this excellent post -
- -## Setup Laravel and Docker on Digital Ocean - -### [Full Guide Here](/guides/#Digital-Ocean) - - - @@ -483,7 +483,7 @@ To learn more about how Docker publishes ports, please read [this excellent post -## Install Laravel from a Docker Container +## Install Laravel from Container 1 - First you need to enter the Workspace Container. @@ -619,7 +619,9 @@ docker-compose up -d php-worker
-## Use Browsersync with Laravel Mix +## Use Browsersync + +> Using Use Browsersync with Laravel Mix. 1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options. ``` @@ -1731,7 +1733,9 @@ The default username and password for the root MySQL user are `root` and `root `
-## Create Multiple Databases (MySQL) +## Create Multiple Databases + +> With MySQL. Create `createdb.sql` from `mysql/docker-entrypoint-initdb.d/createdb.sql.example` in `mysql/docker-entrypoint-initdb.d/*` and add your SQL syntax as follow: @@ -1765,7 +1769,9 @@ If you need MySQL access from your host, d
-## Use custom Domain (instead of the Docker IP) +## Use custom Domain + +> How to use a custom domain, instead of the Docker IP. Assuming your custom domain is `laravel.test` @@ -1791,7 +1797,7 @@ server_name laravel.test;
-## Enable Global Composer Build Install +## Global Composer Build Install Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done. @@ -1810,7 +1816,9 @@ Enabling Global Composer Install during the build for the container allows you t
-## Add authentication credential for Magento 2 +## Add authentication for Magento + +> Adding authentication credentials for Magento 2. 1 - Open the `.env` file @@ -1902,7 +1910,7 @@ To install NPM GULP toolkit in the Workspace container
-## Install NPM BOWER package manager +## Install NPM BOWER To install NPM BOWER package manager in the Workspace container @@ -2088,7 +2096,9 @@ e) set it to `true`
-## Install Laravel Envoy (Envoy Task Runner) +## Install Laravel Envoy + +> A Tasks Runner. 1 - Open the `.env` file
@@ -2121,7 +2131,8 @@ e) set it to `true`
-## Install libfaketime in the php-fpm container +## Install libfaketime in php-fpm + Libfaketime allows you to control the date and time that is returned from the operating system. It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file. For example: @@ -2145,7 +2156,8 @@ will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for m
-## Install YAML PHP extension in the php-fpm container +## Install YAML extension in php-fpm + YAML PHP extension allows you to easily parse and create YAML structured data. I like YAML because it's well readable for humans. See http://php.net/manual/en/ref.yaml.php and http://yaml.org/ for more info. 1 - Open the `.env` file @@ -2195,7 +2207,9 @@ For configuration information, visit the [bash-git-prompt repository](https://gi
-## Install Oh My ZSH! with Laravel autocomplete plugin +## Install Oh My ZSH + +> With the Laravel autocomplete plugin. [Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. @@ -2226,7 +2240,9 @@ Remote debug Laravel web and phpunit tests.
-## Setup Google Cloud for docker registry +## Setup Google Cloud + +> Setting up Google Cloud for the docker registry. ``` gcloud auth configure-docker @@ -2242,7 +2258,7 @@ gcloud auth login
-## Keep track of your Laradock changes +## Track your Laradock changes 1. Fork the Laradock repository. 2. Use that fork as a submodule. diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index df19354..47108ab 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -1,18 +1,18 @@ --- -title: 2. Getting Started +title: Getting Started type: index weight: 2 --- -## 2.1 Requirements +## Requirements - [Git](https://git-scm.com/downloads) -- [Docker](https://www.docker.com/products/docker/) `>= 17.12` +- [Docker](https://www.docker.com/products/docker/) [ >= 17.12 ] -## 2.2 Installation +## Installation Choose the setup the best suits your needs. @@ -44,10 +44,10 @@ Note: If you are not using Git yet for your project, you can use `git clone` ins 2 - Make sure your folder structure should look like this: ``` -+ project-a - + laradock-a -+ project-b - + laradock-b +* project-a +* laradock-a +* project-b +* laradock-b ``` *(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).* @@ -66,8 +66,8 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-z +* laradock +* project-z ``` 2 - Edit your web server sites configuration. @@ -102,9 +102,9 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-1 -+ project-2 +* laradock +* project-1 +* project-2 ``` 2 - Go to your web server and create config files to point to different project directory when visiting different domains: @@ -136,7 +136,7 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https:// -## 2.3 Usage +## Usage **Read Before starting:** diff --git a/DOCUMENTATION/content/help/index.md b/DOCUMENTATION/content/help/index.md index 8267bc5..dddb80a 100644 --- a/DOCUMENTATION/content/help/index.md +++ b/DOCUMENTATION/content/help/index.md @@ -1,7 +1,7 @@ --- -title: 5. Help & Questions +title: Help & Questions type: index -weight: 5 +weight: 4 --- Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 5dcc92d..0251c3a 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -1,13 +1,18 @@ --- -title: 1. Introduction +title: Introduction type: index weight: 1 --- -Laradock is a full PHP development environment based on Docker. +Laradock is a full PHP development environment for Docker. -Supporting a variety of common services, all pre-configured to provide a full PHP development environment. +It supports a variety of common services, all pre-configured to provide a ready PHP development environment. +
+ +--- +### Use Docker First - Then Learn About It Later! +--- ## Features @@ -26,11 +31,9 @@ Supporting a variety of common services, all pre-configured to provide a full PH - Everything is visible and editable. - Fast Images Builds. -
---- -### Use Docker First - Then Learn About It Later ---- + + ## Quick Overview @@ -73,7 +76,7 @@ That's it! enjoy :) -## Supported Software (Docker Images) +## Supported Services > Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. > You can turn On/Off as many instances as you want without worrying about the configurations. @@ -354,6 +357,8 @@ Contribute and help us sustain the project. Option 2: Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
Option 3: Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute). +
+Option 4: Become a [Patreon](https://www.patreon.com/zalt). ## Sponsors diff --git a/DOCUMENTATION/content/license/index.md b/DOCUMENTATION/content/license/index.md deleted file mode 100644 index 312b13d..0000000 --- a/DOCUMENTATION/content/license/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 8. License -type: index -weight: 8 ---- - -[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index c14aa2d..f7f8f46 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,22 +1,50 @@ --- -title: 10. Related Projects +title: Related Projects type: index -weight: 10 +weight: 5 --- -Laradock related projects: +## Laradock Related Projects -* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee) -* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart) -* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao) -* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim) -These Docker Compose projects have piqued our interest: -* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal) -* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti) -* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea) -* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) -* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template -for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA) -* [DockerStacks](https://github.com/sfx101/docker-stacks) by [Subhadip Naskar](https://github.com/sfx101) - DockerStacks is a laradock GUI build on top of docker, electron.js, node-pty, xterm.js and the awesome laradock +Laradock CLI is a tool for Laravel projects which automates the docker configuration setup for services, amongst other things. -If you want your project listed here, please open an issue. +* [Docker Stacks](https://github.com/sfx101/docker-stacks): A GUI for managing Laradock. (by [Subhadip Naskar](https://github.com/sfx101)) +* [Laradock CLI](https://github.com/lorinlee/laradock-cli): A CLI for managing Laradock. (by [LorinLee](https://github.com/lorinlee)) +* [Laradock CLI](https://github.com/loonpwn/laradock-cli): A CLI for managing Laradock. (by [Loonpwn](https://github.com/loonpwn)) +* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes): Ansible playbook to setup docker containers for Laravel apps using Laradock. (by [Sifat Rahim](https://github.com/sifat-rahim)) +* [Monitor Laradock](https://github.com/zeroc0d3/monitor-laradock): Laradock Monitoring Tools (using Grafana). (by [Zeroc0d3](https://github.com/zeroc0d3)) +* [Laradock Manager](https://github.com/Lyimmi/laradock-manager): A simple app for managing Laradock containers. Made with wails.app (go & vue.js & vuetify). (by [Lyimmi](https://github.com/Lyimmi)) +* [Laradock Env](https://github.com/bagart/laradock_env): A wrapper with commands for managing Laradock. (by [BAGArt](https://github.com/bagart)) +* [Lara Query](https://github.com/TanisukeGoro/laraQuery): Easy Laradock CLI. (by [TanisukeGoro](https://github.com/TanisukeGoro)) +* [Laradock CLI](https://github.com/tonysm/laradock-cli): Laradock CLI helper. (by [Tonysm](https://github.com/Tonysm)) +* [Laradock Lite](https://github.com/yangliuyu/laradock-lite): A Docker based laravel development environment with minimal dependencies. (by [Yangliuyu](https://github.com/yangliuyu)) +* [Laradock Makefile](https://github.com/bazavlukd/laradock-makefile): Makefile with some useful commands for Laradock. (by [Bazavlukd](https://github.com/bazavlukd)) +* [Laradock Build](https://github.com/dockerframework/laradock-build): Docker builder & running script for Laradock. (by [Dockerframework](https://github.com/dockerframework)) +* [Laravel Laradock PHPStorm](https://github.com/LarryEitel/laravel-laradock-phpstorm): Guide for configuring PHPStorm for remote debugging with Laravel & Laradock. (by [LarryEitel](https://github.com/LarryEitel)) +* [Laradock Crudbooster](https://github.com/nutellinoit/laradock-crudbooster): Docker compose & Kubernetes solution to build apps with crudbooster & Laradock. (by [Nutellinoit](https://github.com/nutellinoit)) +* [Laradock Sample](https://github.com/tadaken3/laradock-sample): Install Laravel with Laradock. (by [Tadaken3](https://github.com/tadaken3)) +* [Stylemix's Laradock](https://github.com/stylemix/laradock): Alternate laradock for multiproject purpose. (by [Stylemix](https://github.com/stylemix)) + + + + +## Inspired by Laradock + +* [Dockery](https://github.com/taufek/dockery): Laradock for Ruby. (by [Taufek](https://github.com/Taufek)) +* [RubyDev Dock](https://github.com/scudelletti/rubydev-dock): Laradock for Ruby. (by [Diogo Scudelletti](https://github.com/scudelletti)) +* [NoDock](https://github.com/Osedea/nodock): Laradock for NodeJS. (by [Osedea](https://github.com/Osedea)) +* [Laradock Multi](https://github.com/bagart/laradock-multi): Laradock for PHP & NodeJS. (by [BAGArt](https://github.com/bagart)) +* [Wordpress Laradock](https://github.com/shov/wordpress-laradock): Laradock for Wordpress. (by [Shov](https://github.com/shov)) +* [Yii2 Laradock](https://github.com/ydatech/yii2-laradock): Laradock for Yii2. (by [Ydatech](https://github.com/ydatech)) +* [MageDock](https://github.com/ojhaujjwal/magedock): Laradock for Magento. (by [Ujjwal Ojha](https://github.com/ojhaujjwal)) +* [Docker Codeigniter](https://github.com/sebastianlzy/docker-codeigniter): Laradock for Codeigniter. (by [Sebastianlzy](https://github.com/sebastianlzy)) +* [Klaradock](https://github.com/poyhsiao/Klaradock): A customized Laradock. (by [Kim Hsiao](https://github.com/poyhsiao)) +* [Laravel Boilerplate](https://github.com/casivaagustin/laravel-boilerplate): A boilerplate with support for JWT. (by [Casivaagustin](https://github.com/casivaagustin)) + + + + + +

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

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

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


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





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

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