Merge branch 'laradock:master' into master

This commit is contained in:
duchymor 2022-01-12 15:54:09 +01:00 committed by GitHub
commit cc3aa13594
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 2330 additions and 107 deletions

View File

@ -39,7 +39,7 @@ COMPOSE_PROJECT_NAME=laradock
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). # Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
# Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6 # Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.3 PHP_VERSION=7.4
### Phalcon Version ########################################### ### Phalcon Version ###########################################
@ -145,6 +145,7 @@ WORKSPACE_INSTALL_OCI8=false
WORKSPACE_INSTALL_V8JS=false WORKSPACE_INSTALL_V8JS=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
WORKSPACE_INSTALL_XLSWRITER=false
WORKSPACE_INSTALL_DEPLOYER=false WORKSPACE_INSTALL_DEPLOYER=false
WORKSPACE_INSTALL_PRESTISSIMO=false WORKSPACE_INSTALL_PRESTISSIMO=false
WORKSPACE_INSTALL_LINUXBREW=false WORKSPACE_INSTALL_LINUXBREW=false
@ -198,6 +199,7 @@ WORKSPACE_INSTALL_PROTOC=false
WORKSPACE_INSTALL_PHPDECIMAL=false WORKSPACE_INSTALL_PHPDECIMAL=false
WORKSPACE_INSTALL_ZOOKEEPER=false WORKSPACE_INSTALL_ZOOKEEPER=false
WORKSPACE_INSTALL_SSDB=false WORKSPACE_INSTALL_SSDB=false
WORKSPACE_INSTALL_TRADER=false
WORKSPACE_PROTOC_VERSION=latest WORKSPACE_PROTOC_VERSION=latest
WORKSPACE_INSTALL_MEMCACHED=true WORKSPACE_INSTALL_MEMCACHED=true
@ -259,9 +261,11 @@ PHP_FPM_INSTALL_PING=false
PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_SSHPASS=false
PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_INSTALL_MAILPARSE=false
PHP_FPM_INSTALL_WKHTMLTOPDF=false PHP_FPM_INSTALL_WKHTMLTOPDF=false
PHP_FPM_INSTALL_XLSWRITER=false
PHP_FPM_INSTALL_PHPDECIMAL=false PHP_FPM_INSTALL_PHPDECIMAL=false
PHP_FPM_INSTALL_ZOOKEEPER=false PHP_FPM_INSTALL_ZOOKEEPER=false
PHP_FPM_INSTALL_SSDB=false PHP_FPM_INSTALL_SSDB=false
PHP_FPM_INSTALL_TRADER=false
PHP_FPM_FFMPEG=false PHP_FPM_FFMPEG=false
PHP_FPM_AUDIOWAVEFORM=false PHP_FPM_AUDIOWAVEFORM=false
PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8"
@ -282,6 +286,7 @@ PHP_FPM_NEW_RELIC_APP_NAME=app_name
PHP_WORKER_INSTALL_BZ2=false PHP_WORKER_INSTALL_BZ2=false
PHP_WORKER_INSTALL_GD=false PHP_WORKER_INSTALL_GD=false
PHP_WORKER_INSTALL_XLSWRITER=false
PHP_WORKER_INSTALL_IMAGEMAGICK=false PHP_WORKER_INSTALL_IMAGEMAGICK=false
PHP_WORKER_IMAGEMAGICK_VERSION=latest PHP_WORKER_IMAGEMAGICK_VERSION=latest
PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_GMP=false
@ -441,6 +446,10 @@ POSTGRES_PASSWORD=secret
POSTGRES_PORT=5432 POSTGRES_PORT=5432
POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
### POSTGRES-POSTGIS ##############################################
POSTGIS_INSTALL_PGSQL_HTTP_FOR_POSTGIS13=false
### SQS ############################################## ### SQS ##############################################
SQS_NODE_HOST_PORT=9324 SQS_NODE_HOST_PORT=9324
@ -451,6 +460,7 @@ SQS_MANAGEMENT_HTTP_HOST_PORT=9325
RABBITMQ_NODE_HOST_PORT=5672 RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672 RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_WEB_STOMP_HOST_PORT=15674
### MERCURE ############################################## ### MERCURE ##############################################
@ -612,6 +622,8 @@ RETHINKDB_PORT=8090
### MONGODB ############################################### ### MONGODB ###############################################
MONGODB_PORT=27017 MONGODB_PORT=27017
MONGO_USERNAME=root
MONGO_PASSWORD=example
### CADDY ################################################# ### CADDY #################################################

View File

@ -19,7 +19,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
php_version: [ "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0" ] php_version: [ "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1" ]
service: [ php-fpm, php-worker, workspace ] service: [ php-fpm, php-worker, workspace ]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -39,10 +39,12 @@ jobs:
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
sed -i -- 's/OCI8=true/OCI8=false/g' .env sed -i -- 's/OCI8=true/OCI8=false/g' .env
sed -i -- 's/IONCUBE=true/IONCUBE=false/g' .env
sed -i -- 's/V8JS=true/V8JS=false/g' .env sed -i -- 's/V8JS=true/V8JS=false/g' .env
sed -i -- 's/AUDIOWAVEFORM=true/AUDIOWAVEFORM=false/g' .env sed -i -- 's/AUDIOWAVEFORM=true/AUDIOWAVEFORM=false/g' .env
sed -i -- 's/SSDB=true/SSDB=false/g' .env sed -i -- 's/SSDB=true/SSDB=false/g' .env
sed -i -- 's/ENCHANT=true/ENCHANT=false/g' .env
sed -i -- 's/PG_CLIENT=true/PG_CLIENT=false/g' .env
sed -i -- 's/MSSQL=true/MSSQL=false/g' .env
docker-compose build ${{ matrix.service }} docker-compose build ${{ matrix.service }}
docker-compose up -d --no-deps -- ${{ matrix.service }} docker-compose up -d --no-deps -- ${{ matrix.service }}
docker-compose exec -T -- ${{ matrix.service }} php -m docker-compose exec -T -- ${{ matrix.service }} php -m

View File

@ -16,6 +16,7 @@ env:
- PHP_VERSION=7.3 BUILD_SERVICE=php-worker - PHP_VERSION=7.3 BUILD_SERVICE=php-worker
- PHP_VERSION=7.4 BUILD_SERVICE=php-worker - PHP_VERSION=7.4 BUILD_SERVICE=php-worker
- PHP_VERSION=8.0 BUILD_SERVICE=php-worker - PHP_VERSION=8.0 BUILD_SERVICE=php-worker
- PHP_VERSION=8.1 BUILD_SERVICE=php-worker
- PHP_VERSION=7.0 BUILD_SERVICE=laravel-horizon - PHP_VERSION=7.0 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.1 BUILD_SERVICE=laravel-horizon - PHP_VERSION=7.1 BUILD_SERVICE=laravel-horizon
@ -23,6 +24,7 @@ env:
- PHP_VERSION=7.3 BUILD_SERVICE=laravel-horizon - PHP_VERSION=7.3 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.4 BUILD_SERVICE=laravel-horizon - PHP_VERSION=7.4 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=8.0 BUILD_SERVICE=laravel-horizon - PHP_VERSION=8.0 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=8.1 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=NA BUILD_SERVICE=solr - PHP_VERSION=NA BUILD_SERVICE=solr
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"

View File

@ -442,6 +442,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a> <a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a> <a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/20/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/21/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/22/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/23/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/24/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/25/avatar.svg?button=false&isActive=true" height="65px"></a>
</p> </p>
### Bronze Sponsors ### Bronze Sponsors
@ -481,6 +488,39 @@ Sponsoring is an act of giving in a different fashion. 🌱
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/30/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/30/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/31/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/31/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/32/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/32/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/33/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/33/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/34/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/34/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/35/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/35/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/36/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/36/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/37/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/37/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/38/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/38/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/39/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/39/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/40/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/40/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/41/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/41/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/42/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/42/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/43/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/43/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/44/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/44/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/45/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/45/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/46/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/46/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/47/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/47/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/48/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/48/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/49/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/49/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/50/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/50/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/51/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/51/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/52/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/52/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/53/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/53/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/54/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/54/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/55/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/55/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/56/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/56/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/57/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/57/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/58/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/58/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/59/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/59/avatar.svg?button=false&isActive=true" height="55px"></a>
</p> </p>

View File

@ -249,6 +249,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a> <a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a> <a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/20/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/21/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/22/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/23/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/24/avatar.svg?button=false&isActive=true" height="65px"></a>
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/25/avatar.svg?button=false&isActive=true" height="65px"></a>
</p> </p>
### Bronze Sponsors ### Bronze Sponsors
@ -288,6 +295,39 @@ Sponsoring is an act of giving in a different fashion. 🌱
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/30/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/30/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/31/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/31/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/32/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/32/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/33/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/33/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/34/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/34/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/35/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/35/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/36/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/36/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/37/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/37/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/38/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/38/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/39/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/39/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/40/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/40/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/41/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/41/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/42/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/42/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/43/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/43/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/44/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/44/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/45/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/45/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/46/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/46/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/47/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/47/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/48/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/48/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/49/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/49/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/50/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/50/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/51/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/51/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/52/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/52/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/53/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/53/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/54/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/54/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/55/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/55/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/56/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/56/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/57/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/57/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/58/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/58/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/59/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/59/avatar.svg?button=false&isActive=true" height="55px"></a>
</p> </p>

View File

@ -115,6 +115,7 @@ services:
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY} - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER} - INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
- INSTALL_XLSWRITER=${WORKSPACE_INSTALL_XLSWRITER}
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER} - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
- INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO} - INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO}
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW} - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
@ -166,6 +167,7 @@ services:
- INSTALL_PHPDECIMAL=${WORKSPACE_INSTALL_PHPDECIMAL} - INSTALL_PHPDECIMAL=${WORKSPACE_INSTALL_PHPDECIMAL}
- INSTALL_ZOOKEEPER=${WORKSPACE_INSTALL_ZOOKEEPER} - INSTALL_ZOOKEEPER=${WORKSPACE_INSTALL_ZOOKEEPER}
- INSTALL_SSDB=${WORKSPACE_INSTALL_SSDB} - INSTALL_SSDB=${WORKSPACE_INSTALL_SSDB}
- INSTALL_TRADER=${WORKSPACE_INSTALL_TRADER}
- PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION} - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION}
- INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT} - INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT}
- INSTALL_MEMCACHED=${WORKSPACE_INSTALL_MEMCACHED} - INSTALL_MEMCACHED=${WORKSPACE_INSTALL_MEMCACHED}
@ -192,6 +194,7 @@ services:
- DOCKER_TLS_VERIFY=1 - DOCKER_TLS_VERIFY=1
- DOCKER_TLS_CERTDIR=/certs - DOCKER_TLS_CERTDIR=/certs
- DOCKER_CERT_PATH=/certs/client - DOCKER_CERT_PATH=/certs/client
- CHOKIDAR_USEPOLLING=true
networks: networks:
- frontend - frontend
- backend - backend
@ -245,6 +248,7 @@ services:
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS} - INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK} - INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR} - INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
- INSTALL_XLSWRITER=${PHP_FPM_INSTALL_XLSWRITER}
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME} - INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE} - INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU} - INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
@ -267,6 +271,7 @@ services:
- INSTALL_PHPDECIMAL=${PHP_FPM_INSTALL_PHPDECIMAL} - INSTALL_PHPDECIMAL=${PHP_FPM_INSTALL_PHPDECIMAL}
- INSTALL_ZOOKEEPER=${PHP_FPM_INSTALL_ZOOKEEPER} - INSTALL_ZOOKEEPER=${PHP_FPM_INSTALL_ZOOKEEPER}
- INSTALL_SSDB=${PHP_FPM_INSTALL_SSDB} - INSTALL_SSDB=${PHP_FPM_INSTALL_SSDB}
- INSTALL_TRADER=${PHP_FPM_INSTALL_TRADER}
- DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL} - DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL}
- PUID=${PHP_FPM_PUID} - PUID=${PHP_FPM_PUID}
- PGID=${PHP_FPM_PGID} - PGID=${PHP_FPM_PGID}
@ -324,6 +329,7 @@ services:
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8} - INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
- INSTALL_MSSQL=${PHP_WORKER_INSTALL_MSSQL} - INSTALL_MSSQL=${PHP_WORKER_INSTALL_MSSQL}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
- INSTALL_XLSWRITER=${PHP_WORKER_INSTALL_XLSWRITER}
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP} - INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE} - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT} - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
@ -616,7 +622,11 @@ services:
### PostgreSQL PostGis ################################### ### PostgreSQL PostGis ###################################
postgres-postgis: postgres-postgis:
build: ./postgres-postgis build:
context: ./postgres-postgis
args:
- POSTGRES_VERSION=${POSTGRES_VERSION}
- INSTALL_PGSQL_HTTP_FOR_POSTGIS13=${POSTGIS_INSTALL_PGSQL_HTTP_FOR_POSTGIS13}
volumes: volumes:
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
ports: ports:
@ -656,6 +666,9 @@ services:
build: ./mongo build: ./mongo
ports: ports:
- "${MONGODB_PORT}:27017" - "${MONGODB_PORT}:27017"
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
volumes: volumes:
- ${DATA_PATH_HOST}/mongo:/data/db - ${DATA_PATH_HOST}/mongo:/data/db
- ${DATA_PATH_HOST}/mongo_config:/data/configdb - ${DATA_PATH_HOST}/mongo_config:/data/configdb
@ -803,6 +816,7 @@ services:
- "${RABBITMQ_NODE_HOST_PORT}:5672" - "${RABBITMQ_NODE_HOST_PORT}:5672"
- "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672" - "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672"
- "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671" - "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671"
- "${RABBITMQ_WEB_STOMP_HOST_PORT}:15674"
privileged: true privileged: true
hostname: laradock-rabbitmq hostname: laradock-rabbitmq
volumes: volumes:

View File

@ -36,11 +36,11 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
# jenkins version being bundled in this docker image # jenkins version being bundled in this docker image
ARG JENKINS_VERSION ARG JENKINS_VERSION
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.89.2} ENV JENKINS_VERSION ${JENKINS_VERSION:-2.303.2}
# jenkins.war checksum, download will be validated using it # jenkins.war checksum, download will be validated using it
# 2.89.2 # 2.303.2
ARG JENKINS_SHA=014f669f32bc6e925e926e260503670b32662f006799b133a031a70a794c8a14 ARG JENKINS_SHA=c4b8532e25a33001a3d8883d3cd87a664953ace239b486839b683065817d29cf
# Can be used to customize where jenkins.war get downloaded from # Can be used to customize where jenkins.war get downloaded from

View File

@ -16,9 +16,9 @@ RUN if [ ${CHANGE_SOURCE} = true ]; then \
;fi ;fi
RUN apk add --update \ RUN apk add --update \
python \ python3 \
python-dev \ python3-dev \
py-pip \ py3-pip \
build-base build-base
RUN npm install RUN npm install

View File

@ -64,11 +64,7 @@ ARG INSTALL_GNUPG=false
RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \ RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \
apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \ apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \
apk add --no-cache --no-progress gpgme; \ apk add --no-cache --no-progress gpgme; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install gnupg-1.5.0RC2; \
else \
pecl install gnupg; \ pecl install gnupg; \
fi; \
docker-php-ext-enable gnupg; \ docker-php-ext-enable gnupg; \
fi fi

View File

@ -0,0 +1,56 @@
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream octane {
server workspace:8000 weight=5 max_fails=3 fail_timeout=30s;
keepalive 16;
}
server {
listen 80;
listen [::]:80;
server_name octane.test;
server_tokens off;
root /var/www/octane/public;
index index.php;
charset utf-8;
location /index.php {
try_files /not_exists @octane;
}
location / {
try_files $uri $uri/ @octane;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location @octane {
set $suffix "";
if ($uri = /index.php) {
set $suffix ?$query_string;
}
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header SERVER_PORT $server_port;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://octane$suffix;
}
error_log /var/log/nginx/octane_error.log;
access_log /var/log/nginx/octane_access.log;
}

View File

@ -148,7 +148,7 @@ RUN apk add --no-cache --virtual .build-deps \
&& make -j${RESTY_J} \ && make -j${RESTY_J} \
&& make -j${RESTY_J} install_sw \ && make -j${RESTY_J} install_sw \
&& cd /tmp \ && cd /tmp \
&& curl -fSL https://ftp.pcre.org/pub/pcre/pcre-${RESTY_PCRE_VERSION}.tar.gz -o pcre-${RESTY_PCRE_VERSION}.tar.gz \ && curl -fSL https://downloads.sourceforge.net/project/pcre/pcre/${RESTY_PCRE_VERSION}/pcre-${RESTY_PCRE_VERSION}.tar.gz -o pcre-${RESTY_PCRE_VERSION}.tar.gz \
&& tar xzf pcre-${RESTY_PCRE_VERSION}.tar.gz \ && tar xzf pcre-${RESTY_PCRE_VERSION}.tar.gz \
&& cd /tmp/pcre-${RESTY_PCRE_VERSION} \ && cd /tmp/pcre-${RESTY_PCRE_VERSION} \
&& ./configure \ && ./configure \

View File

@ -117,11 +117,7 @@ ARG INSTALL_GNUPG=false
RUN if [ ${INSTALL_GNUPG} = true ]; then \ RUN if [ ${INSTALL_GNUPG} = true ]; then \
apt-get -yq install libgpgme-dev; \ apt-get -yq install libgpgme-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install gnupg-1.5.0RC2; \
else \
pecl install gnupg; \ pecl install gnupg; \
fi; \
docker-php-ext-enable gnupg; \ docker-php-ext-enable gnupg; \
php -m | grep -q 'gnupg'; \ php -m | grep -q 'gnupg'; \
fi fi
@ -219,8 +215,9 @@ ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Install the xdebug extension # Install the xdebug extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ # https://xdebug.org/docs/compat
pecl install xdebug-3.0.0; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
pecl install xdebug-3.1.2; \
else \ else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install xdebug-2.5.5; \ pecl install xdebug-2.5.5; \
@ -357,13 +354,19 @@ ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo && \ pecl install mongo; \
docker-php-ext-enable mongo \ docker-php-ext-enable mongo; \
;else \ php -m | grep -oiE '^mongo$'; \
pecl install mongodb && \ else \
docker-php-ext-enable mongodb \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
;fi \ pecl install mongodb-1.9.2; \
;fi else \
pecl install mongodb; \
fi; \
docker-php-ext-enable mongodb; \
php -m | grep -oiE '^mongodb$'; \
fi; \
fi
########################################################################### ###########################################################################
# Xhprof: # Xhprof:
@ -481,6 +484,23 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
docker-php-ext-enable gearman \ docker-php-ext-enable gearman \
;fi ;fi
###########################################################################
# xlswriter:
###########################################################################
ARG INSTALL_XLSWRITER=false
RUN set -eux; \
if [ ${INSTALL_XLSWRITER} = true ]; then \
# Install Php xlswriter Extension \
if [ $(php -r "echo PHP_MAJOR_VERSION;") > "5" ]; then \
pecl install xlswriter &&\
docker-php-ext-enable xlswriter &&\
php -m | grep -q 'xlswriter'; \
else \
echo "PHP Extension for xlswriter is not supported for PHP 5.0";\
fi \
;fi
########################################################################### ###########################################################################
# pcntl # pcntl
########################################################################### ###########################################################################
@ -632,6 +652,7 @@ RUN if [ ${INSTALL_IONCUBE} = true ]; then \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \ && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \ && printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
&& rm -rf /tmp/ioncube* \ && rm -rf /tmp/ioncube* \
&& php -m | grep -oiE '^ionCube Loader$' \
;fi \ ;fi \
;fi ;fi
@ -791,7 +812,7 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
ARG INSTALL_SMB=false ARG INSTALL_SMB=false
RUN if [ ${INSTALL_SMB} = true ]; then \ RUN if [ ${INSTALL_SMB} = true ]; then \
apt-get install apt-get install -yqq smbclient libsmbclient-dev coreutils && \ apt-get install -yqq smbclient libsmbclient-dev coreutils && \
pecl install smbclient && \ pecl install smbclient && \
docker-php-ext-enable smbclient \ docker-php-ext-enable smbclient \
;fi ;fi
@ -1033,6 +1054,19 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
&& apt -f install \ && apt -f install \
;fi ;fi
#####################################
# trader:
#####################################
USER root
ARG INSTALL_TRADER=false
RUN if [ ${INSTALL_TRADER} = true ]; then \
pecl install trader \
&& echo "extension=trader.so" >> $PHP_INI_DIR/conf.d/trader.ini \
;fi
########################################################################### ###########################################################################
# Mailparse extension: # Mailparse extension:
########################################################################### ###########################################################################
@ -1071,7 +1105,7 @@ ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
apt-get -yq install libxml2-dev; \ apt-get -yq install libxml2-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install xmlrpc-1.0.0RC2; \ pecl install xmlrpc-1.0.0RC3; \
docker-php-ext-enable xmlrpc; \ docker-php-ext-enable xmlrpc; \
else \ else \
docker-php-ext-install xmlrpc; \ docker-php-ext-install xmlrpc; \
@ -1130,7 +1164,7 @@ ARG NEW_RELIC_KEY=${NEW_RELIC_KEY}
ARG NEW_RELIC_APP_NAME=${NEW_RELIC_APP_NAME} ARG NEW_RELIC_APP_NAME=${NEW_RELIC_APP_NAME}
RUN if [ ${NEW_RELIC} = true ]; then \ RUN if [ ${NEW_RELIC} = true ]; then \
curl -L http://download.newrelic.com/php_agent/archive/9.9.0.260/newrelic-php5-9.9.0.260-linux.tar.gz | tar -C /tmp -zx && \ curl -L http://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-linux.tar.gz | tar -C /tmp -zx && \
export NR_INSTALL_USE_CP_NOT_LN=1 && \ export NR_INSTALL_USE_CP_NOT_LN=1 && \
export NR_INSTALL_SILENT=1 && \ export NR_INSTALL_SILENT=1 && \
/tmp/newrelic-php5-*/newrelic-install install && \ /tmp/newrelic-php5-*/newrelic-install install && \

1948
php-fpm/php8.1.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@ -25,6 +25,7 @@ RUN apk --update add wget \
build-base \ build-base \
libmcrypt-dev \ libmcrypt-dev \
libxml2-dev \ libxml2-dev \
linux-headers \
pcre-dev \ pcre-dev \
zlib-dev \ zlib-dev \
autoconf \ autoconf \
@ -64,11 +65,7 @@ ARG INSTALL_GNUPG=false
RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \ RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \
apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \ apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \
apk add --no-cache --no-progress gpgme; \ apk add --no-cache --no-progress gpgme; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install gnupg-1.5.0RC2; \
else \
pecl install gnupg; \ pecl install gnupg; \
fi; \
docker-php-ext-enable gnupg; \ docker-php-ext-enable gnupg; \
fi fi
@ -144,9 +141,15 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo; \ pecl install mongo; \
docker-php-ext-enable mongo; \ docker-php-ext-enable mongo; \
php -m | grep -oiE '^mongo$'; \
else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
pecl install mongodb-1.9.2; \
else \ else \
pecl install mongodb; \ pecl install mongodb; \
fi; \
docker-php-ext-enable mongodb; \ docker-php-ext-enable mongodb; \
php -m | grep -oiE '^mongodb$'; \
fi; \ fi; \
fi fi
@ -344,19 +347,38 @@ RUN if [ ${INSTALL_REDIS} = true ]; then \
ARG INSTALL_SWOOLE=false ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \ RUN set -eux; \
if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension # Install Php Swoole Extension
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \ if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \
echo '' | pecl -q install swoole-2.0.10; \ pecl install swoole-2.0.10; \
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
echo '' | pecl -q install swoole-4.3.5; \ pecl install swoole-4.3.5; \
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
echo '' | pecl -q install swoole-4.5.11; \ pecl install swoole-4.5.11; \
else \ else \
echo '' | pecl -q install swoole; \ pecl install swoole; \
fi; \ fi; \
docker-php-ext-enable swoole \ docker-php-ext-enable swoole; \
&& php -m | grep -q 'swoole' \ php -m | grep -oiE '^swoole$'; \
fi
###########################################################################
# xlswriter:
###########################################################################
ARG INSTALL_XLSWRITER=false
RUN set -eux; \
if [ ${INSTALL_XLSWRITER} = true ]; then \
# Install Php xlswriter Extension \
if [ $(php -r "echo PHP_MAJOR_VERSION;") > "5" ]; then \
pecl install xlswriter && \
docker-php-ext-enable xlswriter && \
php -m | grep -q 'xlswriter'; \
else \
echo "PHP Extension for xlswriter is not supported for PHP 5.0"; \
fi \
;fi ;fi
########################################################################### ###########################################################################
@ -396,7 +418,7 @@ ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install xmlrpc-1.0.0RC2; \ pecl install xmlrpc-1.0.0RC3; \
docker-php-ext-enable xmlrpc; \ docker-php-ext-enable xmlrpc; \
else \ else \
docker-php-ext-install xmlrpc; \ docker-php-ext-install xmlrpc; \

View File

@ -1,4 +1,4 @@
FROM phpmyadmin/phpmyadmin FROM phpmyadmin
LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>" LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"

View File

@ -1,7 +1,27 @@
FROM postgis/postgis:latest ARG POSTGRES_VERSION=latest
FROM postgis/postgis:${POSTGRES_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG INSTALL_PGSQL_HTTP_FOR_POSTGIS13=false
RUN if [ ${INSTALL_PGSQL_HTTP_FOR_POSTGIS13} = true ]; then \
apt-get clean \
&& apt-get update -yqq \
&& apt-get install -y \
git \
make \
gcc \
libcurl4-openssl-dev \
postgresql-server-dev-13 \
postgresql-13-cron \
&& git clone --recursive https://github.com/pramsey/pgsql-http.git \
&& cd pgsql-http/ \
&& make \
&& make install \
&& apt-get clean \
;fi
CMD ["postgres"] CMD ["postgres"]
EXPOSE 5432 EXPOSE 5432

View File

@ -2991,17 +2991,17 @@
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
}, },
"axios": { "axios": {
"version": "0.21.1", "version": "0.21.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==",
"requires": { "requires": {
"follow-redirects": "^1.10.0" "follow-redirects": "^1.14.0"
}, },
"dependencies": { "dependencies": {
"follow-redirects": { "follow-redirects": {
"version": "1.13.1", "version": "1.14.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
"integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A=="
} }
} }
}, },
@ -8238,9 +8238,9 @@
} }
}, },
"ws": { "ws": {
"version": "6.2.1", "version": "6.2.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
"integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
"requires": { "requires": {
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }
@ -14465,9 +14465,9 @@
} }
}, },
"tmpl": { "tmpl": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
"integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw=="
}, },
"to-arraybuffer": { "to-arraybuffer": {
"version": "1.0.1", "version": "1.0.1",
@ -15463,9 +15463,9 @@
} }
}, },
"ws": { "ws": {
"version": "6.2.1", "version": "6.2.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
"integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
"requires": { "requires": {
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }
@ -15866,9 +15866,9 @@
} }
}, },
"ws": { "ws": {
"version": "5.2.2", "version": "5.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz",
"integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==",
"requires": { "requires": {
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }

View File

@ -9,7 +9,7 @@
"@testing-library/jest-dom": "^4.2.4", "@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0", "@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1", "@testing-library/user-event": "^7.2.1",
"axios": "^0.21.1", "axios": "^0.21.2",
"bootstrap": "^4.5.3", "bootstrap": "^4.5.3",
"jss-rtl": "^0.3.0", "jss-rtl": "^0.3.0",
"node-sass": "^4.14.1", "node-sass": "^4.14.1",

View File

@ -1,8 +1,8 @@
GIN_MODE=debug GIN_MODE=debug
# Weaver # Weaver
WEAVER_AUTH_KEY=arachnys-weaver WEAVER_AUTH_KEY="arachnys-weaver"
WEAVER_ATHENA_CMD=athenapdf -S WEAVER_ATHENA_CMD="athenapdf -S"
WEAVER_MAX_WORKERS=10 WEAVER_MAX_WORKERS=10
WEAVER_MAX_CONVERSION_QUEUE=50 WEAVER_MAX_CONVERSION_QUEUE=50
WEAVER_WORKER_TIMEOUT=90 WEAVER_WORKER_TIMEOUT=90

View File

@ -330,25 +330,17 @@ ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Install the xdebug extension # Install the xdebug extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ # https://xdebug.org/docs/compat
pecl install xdebug-3.0.0; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
pecl install xdebug-3.1.2; \
else \ else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install xdebug-2.5.5; \ pecl install xdebug-2.5.5; \
else \ else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install xdebug-2.9.0; \ pecl install xdebug-2.9.0; \
else \ else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
pecl install xdebug-2.9.8; \ pecl install xdebug-2.9.8; \
else \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
pecl install xdebug-2.9.8; \
else \
#pecl install xdebug; \
echo "xDebug 3 required, not supported."; \
fi \
fi \
fi \ fi \
fi \ fi \
fi && \ fi && \
@ -452,15 +444,21 @@ ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo && \ pecl install mongo; \
echo "extension=mongo.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini && \ echo "extension=mongo.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini; \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongo.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongo.ini; \
;else \ php -m | grep -oiE '^mongo$'; \
pecl install mongodb && \ else \
echo "extension=mongodb.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongodb.ini \ pecl install mongodb-1.9.2; \
;fi \ else \
;fi pecl install mongodb; \
fi; \
echo "extension=mongodb.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini; \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongodb.ini; \
php -m | grep -oiE '^mongodb$'; \
fi; \
fi
########################################################################### ###########################################################################
# AMQP: # AMQP:
@ -559,6 +557,27 @@ RUN set -eux; \
php -m | grep -q 'swoole'; \ php -m | grep -q 'swoole'; \
fi fi
###########################################################################
# xlswriter:
###########################################################################
ARG INSTALL_XLSWRITER=false
RUN set -eux; \
if [ ${INSTALL_XLSWRITER} = true ]; then \
# Install Php xlswriter Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") > "5" ]; then \
echo '' | pecl -q install xlswriter && \
echo "extension=xlswriter.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/xlswriter.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/xlswriter.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-xlswriter.ini; \
php -m | grep -q 'xlswriter'; \
else \
echo "PHP Extension for xlswriter is not supported for PHP 5.0"; \
fi \
;fi
########################################################################### ###########################################################################
# Taint EXTENSION # Taint EXTENSION
########################################################################### ###########################################################################
@ -659,6 +678,7 @@ RUN if [ ${INSTALL_IONCUBE} = true ]; then \
&& echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini \ && echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini \
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/0ioncube.ini \ && ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/0ioncube.ini \
&& rm -rf /tmp/ioncube* \ && rm -rf /tmp/ioncube* \
&& php -m | grep -oiE '^ionCube Loader$' \
;fi \ ;fi \
;fi ;fi
@ -907,6 +927,8 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.12; \ echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.12; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \ echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ]; then \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-3.0.1; \
else \ else \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \ echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \
fi \ fi \
@ -1670,6 +1692,21 @@ RUN set -xe; \
&& rm /tmp/ssdb-client-php.tar.gz \ && rm /tmp/ssdb-client-php.tar.gz \
&& docker-php-ext-enable ssdb \ && docker-php-ext-enable ssdb \
;fi ;fi
#####################################
# trader:
#####################################
USER root
ARG INSTALL_TRADER=false
RUN if [ ${INSTALL_TRADER} = true ]; then \
pecl install trader \
&& echo "extension=trader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/trader.ini \
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/trader.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-trader.ini \
;fi
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Final Touch # Final Touch