Merge branch 'master' into patch-1

This commit is contained in:
Shao Yu-Lung (Allen) 2021-03-23 08:55:13 +08:00 committed by GitHub
commit a973ed62a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 2737 additions and 454 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -1,13 +1,20 @@
name: CI name: CI
on: [push, pull_request] on:
push:
branches: '**'
tags: '**'
pull_request:
schedule:
- cron: '0 0 * * 0'
jobs: jobs:
build: build-php:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false
matrix: matrix:
php_version: ["7.1", "7.2", "7.3", "7.4"] php_version: ["5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0"]
service: [php-fpm, php-worker, workspace, laravel-horizon] service: [php-fpm, php-worker, workspace, laravel-horizon]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -16,4 +23,33 @@ jobs:
PHP_VERSION: ${{ matrix.php_version }} PHP_VERSION: ${{ matrix.php_version }}
run: | run: |
cp env-example .env cp env-example .env
sed -i -- '99,274s/=false/=true/g' .env
sed -i -- 's/GNUPG=false/GNUPG=true/g' .env
sed -i -- 's/CHANGE_SOURCE=true/CHANGE_SOURCE=false/g' .env
sed -i -- 's/PHPDBG=true/PHPDBG=false/g' .env
sed -i -- 's/CASSANDRA=true/CASSANDRA=false/g' .env
sed -i -- 's/GEARMAN=true/GEARMAN=false/g' .env
sed -i -- 's/AEROSPIKE=true/AEROSPIKE=false/g' .env
sed -i -- 's/PHALCON=true/PHALCON=false/g' .env
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
sed -i -- 's/MEMCACHED=true/MEMCACHED=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
docker-compose build ${{ matrix.service }}
build-other:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
service: ['nginx', 'redis', 'mysql', 'mariadb', 'percona', 'minio', 'mongo']
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: |
cp env-example .env
sed -i -- 's/=false/=true/g' .env
sed -i -- 's/CHANGE_SOURCE=true/CHANGE_SOURCE=false/g' .env
docker-compose build ${{ matrix.service }} docker-compose build ${{ matrix.service }}

View File

@ -13,6 +13,7 @@ env:
- PHP_VERSION=7.2 BUILD_SERVICE=workspace - PHP_VERSION=7.2 BUILD_SERVICE=workspace
- PHP_VERSION=7.3 BUILD_SERVICE=workspace - PHP_VERSION=7.3 BUILD_SERVICE=workspace
- PHP_VERSION=7.4 BUILD_SERVICE=workspace - PHP_VERSION=7.4 BUILD_SERVICE=workspace
- PHP_VERSION=8.0 BUILD_SERVICE=workspace
- PHP_VERSION=5.6 BUILD_SERVICE=php-fpm - PHP_VERSION=5.6 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.0 BUILD_SERVICE=php-fpm - PHP_VERSION=7.0 BUILD_SERVICE=php-fpm
@ -20,6 +21,7 @@ env:
- PHP_VERSION=7.2 BUILD_SERVICE=php-fpm - PHP_VERSION=7.2 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.3 BUILD_SERVICE=php-fpm - PHP_VERSION=7.3 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.4 BUILD_SERVICE=php-fpm - PHP_VERSION=7.4 BUILD_SERVICE=php-fpm
- PHP_VERSION=8.0 BUILD_SERVICE=php-fpm
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm - PHP_VERSION=hhvm BUILD_SERVICE=hhvm
@ -29,12 +31,14 @@ env:
- PHP_VERSION=7.2 BUILD_SERVICE=php-worker - PHP_VERSION=7.2 BUILD_SERVICE=php-worker
- 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=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
- PHP_VERSION=7.2 BUILD_SERVICE=laravel-horizon - PHP_VERSION=7.2 BUILD_SERVICE=laravel-horizon
- 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=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"

6
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"recommendations": [
"editorconfig.editorconfig",
"mikestead.dotenv"
]
}

View File

@ -22,12 +22,12 @@ It supports a variety of common services, all pre-configured to provide a ready
- Run your own stack: Memcached, HHVM, RabbitMQ... - Run your own stack: Memcached, HHVM, RabbitMQ...
- Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI... - Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI...
- Easy to customize any container, with simple edits to the `Dockerfile`. - Easy to customize any container, with simple edits to the `Dockerfile`.
- All Images extends from an official base Image. (Trusted base Images). - All Images extend from an official base Image. (Trusted base Images).
- Pre-configured NGINX to host any code at your root directory. - Pre-configured NGINX to host any code at your root directory.
- Can use Laradock per project, or single Laradock for all projects. - Can use Laradock per project, or single Laradock for all projects.
- Easy to install/remove software's in Containers using environment variables. - Easy to install/remove software's in Containers using environment variables.
- Clean and well structured Dockerfiles (`Dockerfile`). - Clean and well-structured Dockerfiles (`Dockerfile`).
- Latest version of the Docker Compose file (`docker-compose`). - The Latest version of the Docker Compose file (`docker-compose`).
- Everything is visible and editable. - Everything is visible and editable.
- Fast Images Builds. - Fast Images Builds.
@ -385,7 +385,10 @@ Sponsoring is an act of giving in a different fashion. 🌱
<p align="center"> <p align="center">
<a href="https://www.bestonlinecasino.com/" target="_blank"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" alt="We thank bestonlinecasino.com for their support" height="75px"></a> <a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti" ></a>
<a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a>
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato Build PHP API's faster"></a>
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a> <a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a>
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true" height="75px"></a> <a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true" height="75px"></a>
@ -421,8 +424,6 @@ Sponsoring is an act of giving in a different fashion. 🌱
<p align="center"> <p align="center">
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em" ><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" alt="Apiato Build API's faster." height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/0/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/0/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/1/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/1/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/2/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/2/avatar.svg?button=false&isActive=true" height="55px"></a>

View File

@ -191,7 +191,10 @@ Sponsoring is an act of giving in a different fashion. 🌱
<p align="center"> <p align="center">
<a href="https://www.bestonlinecasino.com/" target="_blank"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" alt="We thank bestonlinecasino.com for their support" height="75px"></a> <a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti" ></a>
<a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a>
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato Build PHP API's faster"></a>
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a> <a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a>
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true" height="75px"></a> <a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true" height="75px"></a>
@ -227,8 +230,6 @@ Sponsoring is an act of giving in a different fashion. 🌱
<p align="center"> <p align="center">
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em" ><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" alt="Apiato Build API's faster." height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/0/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/0/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/1/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/1/avatar.svg?button=false&isActive=true" height="55px"></a>
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/2/avatar.svg?button=false&isActive=true" height="55px"></a> <a href="https://opencollective.com/laradock/tiers/bronze-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/2/avatar.svg?button=false&isActive=true" height="55px"></a>

View File

@ -2,36 +2,25 @@ FROM webdevops/apache:ubuntu-18.04
LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>" LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>"
ARG DOCUMENT_ROOT=/var/www/
ARG PHP_UPSTREAM_CONTAINER=php-fpm ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000 ARG PHP_UPSTREAM_PORT=9000
ARG PHP_UPSTREAM_TIMEOUT=60 ARG PHP_UPSTREAM_TIMEOUT=60
ARG DOCUMENT_ROOT=/var/www/ ARG APACHE_INSTALL_HTTP2=false
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT} ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT} ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT}
ENV APACHE_HTTP2=${APACHE_INSTALL_HTTP2}
ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT} ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT}
EXPOSE 80 443
WORKDIR /var/www/ WORKDIR /var/www/
COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf
ARG APACHE_INSTALL_HTTP2=false ADD ./startup.sh /opt/startup.sh
RUN mkdir /etc/apache2/ssl 2> /dev/null
RUN if [ ${APACHE_INSTALL_HTTP2} = true ]; then \
openssl genrsa -out "/etc/apache2/ssl/ssl_site.key" 2048 \
&& openssl rand -out /root/.rnd -hex 256 \
&& openssl req -new -key "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.csr" -subj "/CN=site.com/O=LGS/C=IT" \
&& openssl x509 -req -days 365 -in "/etc/apache2/ssl/ssl_site.csr" -signkey "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.crt" \
&& a2enmod rewrite \
&& a2enmod headers \
&& a2enmod proxy proxy_html proxy_http xml2enc ssl http2 \
&& service apache2 restart \
;fi
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
CMD ["supervisord"] CMD ["/bin/bash", "/opt/startup.sh"]
EXPOSE 80 443

View File

@ -13,4 +13,6 @@
</IfVersion> </IfVersion>
</Directory> </Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost> </VirtualHost>

View File

@ -0,0 +1,32 @@
<VirtualHost *:80>
ServerName laradock.test
ServerAlias *.laradock.test
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName laradock.test
ServerAlias *.laradock.test
DocumentRoot /var/www/
Options Indexes FollowSymLinks
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ssl_site.crt
SSLCertificateKeyFile /etc/apache2/ssl/ssl_site.key
<Directory "/var/www/">
AllowOverride All
<IfVersion < 2.4>
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>

4
apache2/ssl/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.crt
*.csr
*.key
*.pem

21
apache2/startup.sh Normal file
View File

@ -0,0 +1,21 @@
#!/bin/bash
mkdir /etc/apache2/ssl 2> /dev/null
# Change laradock.test to the URL to be used
if [ ${APACHE_HTTP2} = true ]; then
if [ ! -f /etc/apache2/ssl/ssl_site.crt ]; then
openssl genrsa -out "/etc/apache2/ssl/ssl_site.key" 2048
openssl rand -out /root/.rnd -hex 256
openssl req -new -key "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.csr" -subj "/CN=laradock.test/O=Laradock/C=BR"
openssl x509 -req -days 365 -extfile <(printf "subjectAltName=DNS:laradock.test,DNS:*.laradock.test") -in "/etc/apache2/ssl/ssl_site.csr" -signkey "/etc/apache2/ssl/ssl_site.key" -out "/etc/apache2/ssl/ssl_site.crt"
fi
a2enmod rewrite
a2enmod headers
a2enmod proxy proxy_html proxy_http xml2enc ssl http2
service apache2 restart
fi
# Start supervisord in foreground
supervisord

View File

@ -74,6 +74,7 @@ services:
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
- INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2} - INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2}
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP} - INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_GNUPG=${WORKSPACE_INSTALL_GNUPG}
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV} - INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV}
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
@ -93,7 +94,7 @@ services:
- NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR} - NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR}
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY} - NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
- NPM_FETCH_RETRIES=${WORKSPACE_NPM_FETCH_RETRIES} - NPM_FETCH_RETRIES=${WORKSPACE_NPM_FETCH_RETRIES}
- NPM_FETCH_RETRY_FACTOR=${WORKSPACE_NPM_FETCH_RETRY_FACTOR} - NPM_FETCH_RETRY_FACTOR=${WORKSPACE_NPM_FETCH_RETRY_FACTOR}
- NPM_FETCH_RETRY_MINTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MINTIMEOUT} - NPM_FETCH_RETRY_MINTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MINTIMEOUT}
- NPM_FETCH_RETRY_MAXTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MAXTIMEOUT} - NPM_FETCH_RETRY_MAXTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MAXTIMEOUT}
@ -110,6 +111,7 @@ services:
- INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8} - INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8}
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS} - INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- COMPOSER_VERSION=${WORKSPACE_COMPOSER_VERSION}
- COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH} - COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH}
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST} - COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
@ -151,6 +153,7 @@ services:
- YARN_VERSION=${WORKSPACE_YARN_VERSION} - YARN_VERSION=${WORKSPACE_YARN_VERSION}
- DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION} - DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION}
- AST_VERSION=${WORKSPACE_AST_VERSION} - AST_VERSION=${WORKSPACE_AST_VERSION}
- IMAGEMAGICK_VERSION=${WORKSPACE_IMAGEMAGICK_VERSION}
- TZ=${WORKSPACE_TIMEZONE} - TZ=${WORKSPACE_TIMEZONE}
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} - BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
@ -163,6 +166,7 @@ services:
- INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV} - INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV}
- INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC} - INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC}
- PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION} - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION}
- INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT}
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
@ -203,6 +207,7 @@ services:
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2} - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2}
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP} - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_GNUPG=${PHP_FPM_INSTALL_GNUPG}
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV} - INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV}
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
@ -259,10 +264,12 @@ services:
- 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}
- IMAGEMAGICK_VERSION=${PHP_FPM_IMAGEMAGICK_VERSION}
- LOCALE=${PHP_FPM_DEFAULT_LOCALE} - LOCALE=${PHP_FPM_DEFAULT_LOCALE}
- PHP_FPM_NEW_RELIC=${PHP_FPM_NEW_RELIC} - PHP_FPM_NEW_RELIC=${PHP_FPM_NEW_RELIC}
- PHP_FPM_NEW_RELIC_KEY=${PHP_FPM_NEW_RELIC_KEY} - PHP_FPM_NEW_RELIC_KEY=${PHP_FPM_NEW_RELIC_KEY}
- PHP_FPM_NEW_RELIC_APP_NAME=${PHP_FPM_NEW_RELIC_APP_NAME} - PHP_FPM_NEW_RELIC_APP_NAME=${PHP_FPM_NEW_RELIC_APP_NAME}
- INSTALL_DOCKER_CLIENT=${PHP_FPM_INSTALL_DOCKER_CLIENT}
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
@ -271,7 +278,7 @@ services:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- docker-in-docker:/certs/client - docker-in-docker:/certs/client
ports: ports:
- "9003:9003" - "${PHP_FPM_XDEBUG_PORT}:9003"
expose: expose:
- "9000" - "9000"
extra_hosts: extra_hosts:
@ -302,7 +309,9 @@ services:
- INSTALL_GD=${PHP_WORKER_INSTALL_GD} - INSTALL_GD=${PHP_WORKER_INSTALL_GD}
- INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK} - INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK}
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
- INSTALL_GNUPG=${PHP_WORKER_INSTALL_GNUPG}
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_MONGO=${PHP_WORKER_INSTALL_MONGO}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8} - INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
@ -322,6 +331,7 @@ services:
- INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC} - INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC}
- PUID=${PHP_WORKER_PUID} - PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID} - PGID=${PHP_WORKER_PGID}
- IMAGEMAGICK_VERSION=${PHP_WORKER_IMAGEMAGICK_VERSION}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ./php-worker/supervisord.d:/etc/supervisord.d - ./php-worker/supervisord.d:/etc/supervisord.d
@ -341,6 +351,7 @@ services:
- INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2} - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
- INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD} - INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
- INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP} - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
- INSTALL_GNUPG=${LARAVEL_HORIZON_INSTALL_GNUPG}
- INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK} - INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE} - INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
@ -348,13 +359,14 @@ services:
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS}
- INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML} - INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML}
- INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_CASSANDRA=${LARAVEL_HORIZON_INSTALL_CASSANDRA}
- INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS} - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS}
- INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO} - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO}
- INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG} - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG}
- INSTALL_AUDIOWAVEFORM=${LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM} - INSTALL_AUDIOWAVEFORM=${LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM}
- PUID=${LARAVEL_HORIZON_PUID} - PUID=${LARAVEL_HORIZON_PUID}
- PGID=${LARAVEL_HORIZON_PGID} - PGID=${LARAVEL_HORIZON_PGID}
- IMAGEMAGICK_VERSION=${LARAVEL_HORIZON_IMAGEMAGICK_VERSION}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ./laravel-horizon/supervisord.d:/etc/supervisord.d - ./laravel-horizon/supervisord.d:/etc/supervisord.d
@ -416,6 +428,7 @@ services:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2 - ${APACHE_HOST_LOG_PATH}:/var/log/apache2
- ${APACHE_SITES_PATH}:/etc/apache2/sites-available - ${APACHE_SITES_PATH}:/etc/apache2/sites-available
- ${APACHE_SSL_PATH}:/etc/apache2/ssl
ports: ports:
- "${APACHE_HOST_HTTP_PORT}:80" - "${APACHE_HOST_HTTP_PORT}:80"
- "${APACHE_HOST_HTTPS_PORT}:443" - "${APACHE_HOST_HTTPS_PORT}:443"
@ -864,6 +877,9 @@ services:
- MYSQL_USER=${PMA_USER} - MYSQL_USER=${PMA_USER}
- MYSQL_PASSWORD=${PMA_PASSWORD} - MYSQL_PASSWORD=${PMA_PASSWORD}
- MYSQL_ROOT_PASSWORD=${PMA_ROOT_PASSWORD} - MYSQL_ROOT_PASSWORD=${PMA_ROOT_PASSWORD}
- MAX_EXECUTION_TIME=${PMA_MAX_EXECUTION_TIME}
- MEMORY_LIMIT=${PMA_MEMORY_LIMIT}
- UPLOAD_LIMIT=${PMA_UPLOAD_LIMIT}
ports: ports:
- "${PMA_PORT}:80" - "${PMA_PORT}:80"
depends_on: depends_on:
@ -1886,7 +1902,7 @@ services:
- "3000:3000" - "3000:3000"
container_name: react container_name: react
stdin_open: true stdin_open: true
environment: environment:
- CHOKIDAR_USEPOLLING=true - CHOKIDAR_USEPOLLING=true
networks: networks:
- frontend - frontend

View File

@ -100,6 +100,7 @@ SHELL_OH_MY_ZSH_ALIASES=false
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_VERSION=2
WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_AUTH=false
WORKSPACE_COMPOSER_REPO_PACKAGIST= WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_NVM_NODEJS_ORG_MIRROR= WORKSPACE_NVM_NODEJS_ORG_MIRROR=
@ -122,6 +123,7 @@ WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_BZ2=false WORKSPACE_INSTALL_BZ2=false
WORKSPACE_INSTALL_GMP=false WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_GNUPG=false
WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PCOV=false WORKSPACE_INSTALL_PCOV=false
WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_PHPDBG=false
@ -137,7 +139,7 @@ WORKSPACE_INSTALL_CASSANDRA=false
WORKSPACE_INSTALL_GEARMAN=false WORKSPACE_INSTALL_GEARMAN=false
WORKSPACE_INSTALL_MSSQL=false WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_DRUSH=false WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_DRUSH_VERSION=8.1.17 WORKSPACE_DRUSH_VERSION=8.4.6
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_WP_CLI=false WORKSPACE_INSTALL_WP_CLI=false
WORKSPACE_INSTALL_AEROSPIKE=false WORKSPACE_INSTALL_AEROSPIKE=false
@ -156,6 +158,7 @@ WORKSPACE_INSTALL_POWERLINE=false
WORKSPACE_INSTALL_SUPERVISOR=false WORKSPACE_INSTALL_SUPERVISOR=false
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
WORKSPACE_INSTALL_IMAGEMAGICK=false WORKSPACE_INSTALL_IMAGEMAGICK=false
WORKSPACE_IMAGEMAGICK_VERSION=latest
WORKSPACE_INSTALL_TERRAFORM=false WORKSPACE_INSTALL_TERRAFORM=false
WORKSPACE_INSTALL_DUSK_DEPS=false WORKSPACE_INSTALL_DUSK_DEPS=false
WORKSPACE_INSTALL_PG_CLIENT=false WORKSPACE_INSTALL_PG_CLIENT=false
@ -164,7 +167,7 @@ WORKSPACE_INSTALL_SWOOLE=false
WORKSPACE_INSTALL_TAINT=false WORKSPACE_INSTALL_TAINT=false
WORKSPACE_INSTALL_LIBPNG=false WORKSPACE_INSTALL_LIBPNG=false
WORKSPACE_INSTALL_GRAPHVIZ=false WORKSPACE_INSTALL_GRAPHVIZ=false
WORKSPACE_INSTALL_IONCUBE=false WORKSPACE_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
WORKSPACE_INSTALL_MYSQL_CLIENT=false WORKSPACE_INSTALL_MYSQL_CLIENT=false
WORKSPACE_INSTALL_PING=false WORKSPACE_INSTALL_PING=false
WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_SSHPASS=false
@ -184,13 +187,14 @@ WORKSPACE_INSTALL_AUDIOWAVEFORM=false
WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_WKHTMLTOPDF=false
WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_GNU_PARALLEL=false
WORKSPACE_INSTALL_AST=true WORKSPACE_INSTALL_AST=true
WORKSPACE_AST_VERSION=1.0.3 WORKSPACE_AST_VERSION=1.0.10
WORKSPACE_BROWSERSYNC_HOST_PORT=3000 WORKSPACE_BROWSERSYNC_HOST_PORT=3000
WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001 WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200 WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200
WORKSPACE_INSTALL_GIT_PROMPT=false WORKSPACE_INSTALL_GIT_PROMPT=false
WORKSPACE_INSTALL_DOCKER_CLIENT=false
WORKSPACE_INSTALL_LNAV=false WORKSPACE_INSTALL_LNAV=false
WORKSPACE_INSTALL_PROTOC=false WORKSPACE_INSTALL_PROTOC=false
WORKSPACE_PROTOC_VERSION=latest WORKSPACE_PROTOC_VERSION=latest
@ -202,12 +206,14 @@ PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_MYSQLI=true PHP_FPM_INSTALL_MYSQLI=true
PHP_FPM_INSTALL_INTL=true PHP_FPM_INSTALL_INTL=true
PHP_FPM_INSTALL_IMAGEMAGICK=true PHP_FPM_INSTALL_IMAGEMAGICK=true
PHP_FPM_IMAGEMAGICK_VERSION=latest
PHP_FPM_INSTALL_OPCACHE=true PHP_FPM_INSTALL_OPCACHE=true
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_BZ2=false PHP_FPM_INSTALL_BZ2=false
PHP_FPM_INSTALL_GMP=false PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_GNUPG=false
PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_PCOV=false
PHP_FPM_INSTALL_XHPROF=false PHP_FPM_INSTALL_XHPROF=false
@ -236,7 +242,7 @@ PHP_FPM_INSTALL_POSTGIS=false
PHP_FPM_INSTALL_PCNTL=false PHP_FPM_INSTALL_PCNTL=false
PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_CALENDAR=false
PHP_FPM_INSTALL_FAKETIME=false PHP_FPM_INSTALL_FAKETIME=false
PHP_FPM_INSTALL_IONCUBE=false PHP_FPM_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_INSTALL_RDKAFKA=false
PHP_FPM_INSTALL_GETTEXT=false PHP_FPM_INSTALL_GETTEXT=false
PHP_FPM_INSTALL_XMLRPC=false PHP_FPM_INSTALL_XMLRPC=false
@ -253,7 +259,9 @@ PHP_FPM_INSTALL_WKHTMLTOPDF=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"
PHP_FPM_INSTALL_DOCKER_CLIENT=false
PHP_FPM_DEFAULT_LOCALE=POSIX PHP_FPM_DEFAULT_LOCALE=POSIX
PHP_FPM_XDEBUG_PORT=9003
PHP_FPM_PUID=1000 PHP_FPM_PUID=1000
PHP_FPM_PGID=1000 PHP_FPM_PGID=1000
@ -269,8 +277,11 @@ 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_IMAGEMAGICK=false PHP_WORKER_INSTALL_IMAGEMAGICK=false
PHP_WORKER_IMAGEMAGICK_VERSION=latest
PHP_WORKER_INSTALL_GMP=false PHP_WORKER_INSTALL_GMP=false
PHP_WORKER_INSTALL_GNUPG=false
PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_MONGO=false
PHP_WORKER_INSTALL_BCMATH=false PHP_WORKER_INSTALL_BCMATH=false
# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version # PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
PHP_WORKER_INSTALL_OCI8=false PHP_WORKER_INSTALL_OCI8=false
@ -308,12 +319,15 @@ NGINX_SSL_PATH=./nginx/ssl/
LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_BZ2=false
LARAVEL_HORIZON_INSTALL_GD=false LARAVEL_HORIZON_INSTALL_GD=false
LARAVEL_HORIZON_INSTALL_GMP=false LARAVEL_HORIZON_INSTALL_GMP=false
LARAVEL_HORIZON_INSTALL_GNUPG=false
LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false
LARAVEL_HORIZON_IMAGEMAGICK_VERSION=latest
LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_SOCKETS=false
LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_YAML=false
LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
LARAVEL_HORIZON_INSTALL_PHPREDIS=true LARAVEL_HORIZON_INSTALL_PHPREDIS=false
LARAVEL_HORIZON_INSTALL_MONGO=false LARAVEL_HORIZON_INSTALL_MONGO=false
LARAVEL_HORIZON_INSTALL_CASSANDRA=false
LARAVEL_HORIZON_INSTALL_FFMPEG=false LARAVEL_HORIZON_INSTALL_FFMPEG=false
LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM=false LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM=false
LARAVEL_HORIZON_PGID=1000 LARAVEL_HORIZON_PGID=1000
@ -329,6 +343,7 @@ APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
APACHE_PHP_UPSTREAM_PORT=9000 APACHE_PHP_UPSTREAM_PORT=9000
APACHE_PHP_UPSTREAM_TIMEOUT=60 APACHE_PHP_UPSTREAM_TIMEOUT=60
APACHE_DOCUMENT_ROOT=/var/www/ APACHE_DOCUMENT_ROOT=/var/www/
APACHE_SSL_PATH=./apache2/ssl/
APACHE_INSTALL_HTTP2=false APACHE_INSTALL_HTTP2=false
### MYSQL ################################################# ### MYSQL #################################################
@ -483,6 +498,9 @@ PMA_USER=default
PMA_PASSWORD=secret PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret PMA_ROOT_PASSWORD=secret
PMA_PORT=8081 PMA_PORT=8081
PMA_MAX_EXECUTION_TIME=600
PMA_MEMORY_LIMIT=256M
PMA_UPLOAD_LIMIT=2G
### MAILDEV ############################################### ### MAILDEV ###############################################

View File

@ -35,7 +35,11 @@ RUN apk --update add wget \
procps procps
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 && docker-php-ext-enable memcached \
;else \
pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached \
;fi
# Add a non-root user to help install ffmpeg: # Add a non-root user to help install ffmpeg:
ARG PUID=1000 ARG PUID=1000
@ -53,14 +57,31 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
docker-php-ext-install bz2 \ docker-php-ext-install bz2 \
;fi ;fi
###########################################################################
# PHP GnuPG:
###########################################################################
ARG INSTALL_GNUPG=false
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 gpgme; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install gnupg-1.5.0RC2; \
else \
pecl install gnupg; \
fi; \
docker-php-ext-enable gnupg; \
fi
#Install GD package: #Install GD package:
ARG INSTALL_GD=false ARG INSTALL_GD=false
RUN if [ ${INSTALL_GD} = true ]; then \ RUN if [ ${INSTALL_GD} = true ]; then \
apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev; \ apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev; \
if [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \ if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ] || [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70400" ]; then \
docker-php-ext-configure gd --with-freetype --with-jpeg; \ docker-php-ext-configure gd --with-freetype --with-jpeg; \
else \ else \
docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/; \ docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/; \
fi && \ fi && \
docker-php-ext-install gd \ docker-php-ext-install gd \
;fi ;fi
@ -74,10 +95,28 @@ RUN if [ ${INSTALL_GMP} = true ]; then \
#Install ImageMagick package: #Install ImageMagick package:
ARG INSTALL_IMAGEMAGICK=false ARG INSTALL_IMAGEMAGICK=false
ARG IMAGEMAGICK_VERSION=latest
ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
RUN set -eux; \ RUN set -eux; \
if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apk add --update --no-cache imagemagick-dev; \ apk add --update --no-cache imagemagick-dev; \
pecl install imagick; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
apk add --update --no-cache git && \
cd /tmp && \
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
git clone https://github.com/Imagick/imagick; \
else \
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
fi && \
cd imagick && \
phpize && \
./configure && \
make && \
make install && \
rm -r /tmp/imagick; \
else \
pecl install imagick; \
fi && \
docker-php-ext-enable imagick; \ docker-php-ext-enable imagick; \
php -m | grep -q 'imagick'; \ php -m | grep -q 'imagick'; \
fi fi
@ -160,21 +199,24 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
# Install Cassandra drivers: # Install Cassandra drivers:
ARG INSTALL_CASSANDRA=false ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
apk --update add cassandra-cpp-driver \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
;fi echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
else \
WORKDIR /usr/src apk add --update --no-cache cassandra-cpp-driver libuv gmp \
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ && apk add --update --no-cache cassandra-cpp-driver-dev gmp-dev --virtual .build-sec \
git clone https://github.com/datastax/php-driver.git \ && cd /usr/src \
&& cd php-driver/ext \ && git clone https://github.com/datastax/php-driver.git \
&& phpize \ && cd php-driver/ext \
&& mkdir -p /usr/src/php-driver/build \ && phpize \
&& cd /usr/src/php-driver/build \ && mkdir -p /usr/src/php-driver/build \
&& ../ext/configure > /dev/null \ && cd /usr/src/php-driver/build \
&& make clean >/dev/null \ && ../ext/configure > /dev/null \
&& make >/dev/null 2>&1 \ && make clean > /dev/null \
&& make install \ && make > /dev/null 2>&1 \
&& docker-php-ext-enable cassandra \ && make install \
&& docker-php-ext-enable cassandra \
&& apk del .build-sec; \
fi \
;fi ;fi
# Install MongoDB drivers: # Install MongoDB drivers:
@ -214,7 +256,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; 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"; \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
else \ else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/v3.1.3.tar.gz"; \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/v3.1.4.tar.gz"; \
fi \ fi \
&& mkdir -p memcached \ && mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \

View File

@ -40,6 +40,7 @@ RUN set -xe; \
apt-get install -yqq \ apt-get install -yqq \
apt-utils \ apt-utils \
gnupg2 \ gnupg2 \
git \
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Mandatory Software's Installation # Mandatory Software's Installation
@ -78,7 +79,7 @@ RUN set -xe; \
ARG INSTALL_BZ2=false ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \ RUN if [ ${INSTALL_BZ2} = true ]; then \
apt-get -y install libbz2-dev; \ apt-get -yqq install libbz2-dev; \
docker-php-ext-install bz2 \ docker-php-ext-install bz2 \
;fi ;fi
@ -90,13 +91,28 @@ ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \ RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension # Install the GMP extension
apt-get install -y libgmp-dev && \ apt-get install -yqq libgmp-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \ ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
;fi && \ ;fi && \
docker-php-ext-install gmp \ docker-php-ext-install gmp \
;fi ;fi
###########################################################################
# GnuPG:
###########################################################################
ARG INSTALL_GNUPG=false
RUN if [ ${INSTALL_GNUPG} = true ]; then \
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; \
fi; \
fi
########################################################################### ###########################################################################
# SSH2: # SSH2:
########################################################################### ###########################################################################
@ -109,7 +125,7 @@ RUN if [ ${INSTALL_SSH2} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a ssh2-0.13; \ pecl install -a ssh2-0.13; \
else \ else \
pecl install -a ssh2-1.2; \ pecl install -a ssh2-1.3.1; \
fi && \ fi && \
docker-php-ext-enable ssh2 \ docker-php-ext-enable ssh2 \
;fi ;fi
@ -123,7 +139,7 @@ USER root
ARG INSTALL_FAKETIME=false ARG INSTALL_FAKETIME=false
RUN if [ ${INSTALL_FAKETIME} = true ]; then \ RUN if [ ${INSTALL_FAKETIME} = true ]; then \
apt-get install -y libfaketime \ apt-get install -yqq libfaketime \
;fi ;fi
########################################################################### ###########################################################################
@ -170,14 +186,16 @@ ARG INSTALL_PG_CLIENT=false
ARG INSTALL_POSTGIS=false ARG INSTALL_POSTGIS=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Create folders if not exists (https://github.com/tianon/docker-brew-debian/issues/65) apt-get install -yqq gnupg \
mkdir -p /usr/share/man/man1 && \ && . /etc/os-release \
mkdir -p /usr/share/man/man7 && \ && echo "deb http://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
# Install the pgsql client && curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
apt-get install -y postgresql-client && \ && apt-get update -yqq \
&& apt-get install -yqq postgresql-client-12 postgis; \
if [ ${INSTALL_POSTGIS} = true ]; then \ if [ ${INSTALL_POSTGIS} = true ]; then \
apt-get install -y postgis; \ apt-get install -yqq postgis; \
fi \ fi \
&& apt-get purge -yqq gnupg \
;fi ;fi
########################################################################### ###########################################################################
@ -247,7 +265,7 @@ ARG INSTALL_PHPDBG=false
RUN if [ ${INSTALL_PHPDBG} = true ]; then \ RUN if [ ${INSTALL_PHPDBG} = true ]; then \
# Load the xdebug extension only with phpunit commands # Load the xdebug extension only with phpunit commands
apt-get install -y --force-yes php${LARADOCK_PHP_VERSION}-phpdbg \ apt-get install -yqq --force-yes php${LARADOCK_PHP_VERSION}-phpdbg \
;fi ;fi
########################################################################### ###########################################################################
@ -286,21 +304,21 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_SWOOLE=false ARG INSTALL_SWOOLE=false
RUN set -eux; \
RUN if [ ${INSTALL_SWOOLE} = true ]; then \ if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension # Install Php Swoole Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \
pecl install swoole-2.0.10; \ pecl install swoole-2.0.10; \
else \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ pecl install swoole-4.3.5; \
pecl install swoole-2.2.0; \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
pecl install swoole-4.5.11; \
else \ else \
pecl install swoole; \ pecl install swoole; \
fi \ fi; \
fi && \ docker-php-ext-enable swoole; \
docker-php-ext-enable swoole \ php -m | grep -q 'swoole'; \
&& php -m | grep -q 'swoole' \ fi
;fi
########################################################################### ###########################################################################
# Taint EXTENSION # Taint EXTENSION
@ -340,31 +358,38 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ARG INSTALL_XHPROF=false ARG INSTALL_XHPROF=false
RUN if [ ${INSTALL_XHPROF} = true ]; then \ RUN set -eux; \
# Install the php xhprof extension if [ ${INSTALL_XHPROF} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = 7 ]; then \ # Install the php xhprof extension
curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v5.0.1.tar.gz"; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") != 5 ]; then \
else \ pecl install xhprof; \
curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \ else \
fi \ curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \
&& mkdir -p xhprof \ mkdir -p /tmp/xhprof; \
&& tar -C xhprof -zxvf /tmp/xhprof.tar.gz --strip 1 \ tar -C /tmp/xhprof -zxvf /tmp/xhprof.tar.gz --strip 1; \
&& ( \ ( \
cd xhprof \ cd /tmp/xhprof/extension; \
&& phpize \ phpize; \
&& ./configure \ ./configure; \
&& make \ make; \
&& make install \ make install; \
) \ ); \
&& rm -r xhprof \ rm -r /tmp/xhprof; \
&& rm /tmp/xhprof.tar.gz \ rm /tmp/xhprof.tar.gz; \
;fi fi; \
docker-php-ext-enable xhprof; \
php -m | grep -q 'xhprof'; \
fi
COPY ./xhprof.ini /usr/local/etc/php/conf.d # if [ ${INSTALL_XHPROF_USE_TIDYWAYS} = true ]; then \
# https://github.com/tideways/php-xhprof-extension
# fi
RUN if [ ${INSTALL_XHPROF} = false ]; then \ # COPY ./xhprof.ini /usr/local/etc/php/conf.d
rm /usr/local/etc/php/conf.d/xhprof.ini \
;fi # RUN if [ ${INSTALL_XHPROF} = false ]; then \
# rm /usr/local/etc/php/conf.d/xhprof.ini \
# ;fi
########################################################################### ###########################################################################
# AMQP: # AMQP:
@ -375,7 +400,7 @@ ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
# download and install manually, to make sure it's compatible with ampq installed by pecl later # download and install manually, to make sure it's compatible with ampq installed by pecl later
# install cmake first # install cmake first
apt-get -y install cmake && \ apt-get -yqq install cmake && \
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \ curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \
mkdir -p rabbitmq-c && \ mkdir -p rabbitmq-c && \
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \ tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
@ -384,12 +409,51 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
cmake .. && \ cmake .. && \
cmake --build . --target install && \ cmake --build . --target install && \
# Install the amqp extension # Install the amqp extension
pecl install amqp && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
printf "\n" | pecl install amqp-1.11.0beta; \
else \
printf "\n" | pecl install amqp; \
fi && \
docker-php-ext-enable amqp && \ docker-php-ext-enable amqp && \
# Install the sockets extension # Install the sockets extension
docker-php-ext-install sockets \ docker-php-ext-install sockets \
;fi ;fi
###########################################################################
# CASSANDRA:
###########################################################################
ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
else \
apt-get install libgmp-dev -yqq && \
curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb -o libuv1-dev.deb && \
curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb -o libuv1.deb && \
curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.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 \
;fi
########################################################################### ###########################################################################
# GEARMAN: # GEARMAN:
########################################################################### ###########################################################################
@ -516,7 +580,7 @@ ENV OCI_VERSION=12
RUN if [ ${INSTALL_OCI8} = true ]; then \ RUN if [ ${INSTALL_OCI8} = true ]; then \
# Install wget # Install wget
apt-get update && apt-get install --no-install-recommends -y wget \ apt-get install --no-install-recommends -yqq wget \
# Install Oracle Instantclient # Install Oracle Instantclient
&& mkdir /opt/oracle \ && mkdir /opt/oracle \
&& cd /opt/oracle \ && cd /opt/oracle \
@ -529,10 +593,9 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \ && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
&& rm -rf /opt/oracle/*.zip \ && rm -rf /opt/oracle/*.zip \
# Install PHP extensions deps # Install PHP extensions deps
&& apt-get update \ && apt-get install --no-install-recommends -yqq \
&& apt-get install --no-install-recommends -y \ libaio-dev \
libaio-dev \ freetds-dev && \
freetds-dev && \
# Install PHP extensions # Install PHP extensions
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \ echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \
@ -554,12 +617,14 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
ARG INSTALL_IONCUBE=false ARG INSTALL_IONCUBE=false
RUN if [ ${INSTALL_IONCUBE} = true ]; then \ RUN if [ ${INSTALL_IONCUBE} = true ]; then \
# Install the php ioncube loader if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \ # Install the php ioncube loader
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \ curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \ && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \ && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& rm -rf /tmp/ioncube* \ && printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
&& rm -rf /tmp/ioncube* \
;fi \
;fi ;fi
########################################################################### ###########################################################################
@ -594,7 +659,7 @@ ARG INSTALL_INTL=false
RUN if [ ${INSTALL_INTL} = true ]; then \ RUN if [ ${INSTALL_INTL} = true ]; then \
# Install intl and requirements # Install intl and requirements
apt-get install -y zlib1g-dev libicu-dev g++ && \ apt-get install -yqq zlib1g-dev libicu-dev g++ && \
docker-php-ext-configure intl && \ docker-php-ext-configure intl && \
docker-php-ext-install intl \ docker-php-ext-install intl \
;fi ;fi
@ -608,7 +673,7 @@ ARG INSTALL_GHOSTSCRIPT=false
RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \ RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
# Install the ghostscript extension # Install the ghostscript extension
# for PDF editing # for PDF editing
apt-get install -y \ apt-get install -yqq \
poppler-utils \ poppler-utils \
ghostscript \ ghostscript \
;fi ;fi
@ -620,7 +685,7 @@ RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
ARG INSTALL_LDAP=false ARG INSTALL_LDAP=false
RUN if [ ${INSTALL_LDAP} = true ]; then \ RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -y libldap2-dev && \ apt-get install -yqq libldap2-dev && \
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
docker-php-ext-install ldap \ docker-php-ext-install ldap \
;fi ;fi
@ -634,7 +699,7 @@ ARG INSTALL_MSSQL=false
RUN set -eux; \ RUN set -eux; \
if [ ${INSTALL_MSSQL} = true ]; then \ if [ ${INSTALL_MSSQL} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
apt-get -y install freetds-dev libsybdb5 \ apt-get -yqq install freetds-dev libsybdb5 \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.so /usr/lib/libsybdb.so \ && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.so /usr/lib/libsybdb.so \
&& docker-php-ext-install mssql pdo_dblib \ && docker-php-ext-install mssql pdo_dblib \
&& php -m | grep -q 'mssql' \ && php -m | grep -q 'mssql' \
@ -644,18 +709,19 @@ RUN set -eux; \
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image # Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
########################################################################### ###########################################################################
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux # Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
apt-get install -y apt-transport-https gnupg \ apt-get install -yqq apt-transport-https gnupg \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \ && curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \ && apt-get update -yqq \
# Install Dependencies && ACCEPT_EULA=Y apt-get install -yqq unixodbc unixodbc-dev libgss3 odbcinst msodbcsql17 locales \
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql17 locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
# link local aliases
&& ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \ && ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \
&& locale-gen \ && locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version. && if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "2" ]; then \
&& if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \ pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \
;else \ ;else \
pecl install pdo_sqlsrv sqlsrv \ pecl install pdo_sqlsrv sqlsrv \
@ -675,7 +741,7 @@ USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false ARG INSTALL_IMAGE_OPTIMIZERS=false
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \ RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y jpegoptim optipng pngquant gifsicle \ apt-get install -yqq jpegoptim optipng pngquant gifsicle \
;fi ;fi
########################################################################### ###########################################################################
@ -685,10 +751,27 @@ RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
USER root USER root
ARG INSTALL_IMAGEMAGICK=false ARG INSTALL_IMAGEMAGICK=false
ARG IMAGEMAGICK_VERSION=latest
ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y libmagickwand-dev imagemagick && \ apt-get install -yqq libmagickwand-dev imagemagick && \
pecl install imagick && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
cd /tmp && \
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
git clone https://github.com/Imagick/imagick; \
else \
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
fi && \
cd imagick && \
phpize && \
./configure && \
make && \
make install && \
rm -r /tmp/imagick; \
else \
pecl install imagick; \
fi && \
docker-php-ext-enable imagick \ docker-php-ext-enable imagick \
;fi ;fi
@ -699,7 +782,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 -y smbclient php-smbclient coreutils \ apt-get install -yqq smbclient php-smbclient coreutils \
;fi ;fi
########################################################################### ###########################################################################
@ -709,7 +792,7 @@ RUN if [ ${INSTALL_SMB} = true ]; then \
ARG INSTALL_IMAP=false ARG INSTALL_IMAP=false
RUN if [ ${INSTALL_IMAP} = true ]; then \ RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -y libc-client-dev libkrb5-dev && \ apt-get install -yqq libc-client-dev libkrb5-dev && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \ docker-php-ext-install imap \
;fi ;fi
@ -739,7 +822,7 @@ ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\ apt-get install -yqq unzip libpcre3-dev gcc make re2c git automake autoconf\
&& git clone https://github.com/jbboehr/php-psr.git \ && git clone https://github.com/jbboehr/php-psr.git \
&& cd php-psr \ && cd php-psr \
&& phpize \ && phpize \
@ -779,13 +862,15 @@ USER root
ARG INSTALL_YAML=false ARG INSTALL_YAML=false
RUN if [ ${INSTALL_YAML} = true ]; then \ RUN if [ ${INSTALL_YAML} = true ]; then \
apt-get install libyaml-dev -y ; \ apt-get install -yqq libyaml-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a yaml-1.3.2; \ echo '' | pecl install -a yaml-1.3.2; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
echo '' | pecl install yaml-2.0.4; \
else \ else \
pecl install yaml; \ echo '' | pecl install yaml; \
fi && \ fi \
docker-php-ext-enable yaml \ && docker-php-ext-enable yaml \
;fi ;fi
########################################################################### ###########################################################################
@ -795,7 +880,7 @@ RUN if [ ${INSTALL_YAML} = true ]; then \
ARG INSTALL_RDKAFKA=false ARG INSTALL_RDKAFKA=false
RUN if [ ${INSTALL_RDKAFKA} = true ]; then \ RUN if [ ${INSTALL_RDKAFKA} = true ]; then \
apt-get install -y librdkafka-dev && \ apt-get install -yqq librdkafka-dev && \
pecl install rdkafka && \ pecl install rdkafka && \
docker-php-ext-enable rdkafka \ docker-php-ext-enable rdkafka \
;fi ;fi
@ -807,7 +892,7 @@ RUN if [ ${INSTALL_RDKAFKA} = true ]; then \
ARG INSTALL_GETTEXT=false ARG INSTALL_GETTEXT=false
RUN if [ ${INSTALL_GETTEXT} = true ]; then \ RUN if [ ${INSTALL_GETTEXT} = true ]; then \
apt-get install -y zlib1g-dev libicu-dev g++ libpq-dev libssl-dev gettext && \ apt-get install -yqq zlib1g-dev libicu-dev g++ libpq-dev libssl-dev gettext && \
docker-php-ext-install gettext \ docker-php-ext-install gettext \
;fi ;fi
@ -819,7 +904,7 @@ ARG INSTALL_ADDITIONAL_LOCALES=false
ARG ADDITIONAL_LOCALES ARG ADDITIONAL_LOCALES
RUN if [ ${INSTALL_ADDITIONAL_LOCALES} = true ]; then \ RUN if [ ${INSTALL_ADDITIONAL_LOCALES} = true ]; then \
apt-get install -y locales \ apt-get install -yqq locales \
&& echo '' >> /usr/share/locale/locale.alias \ && echo '' >> /usr/share/locale/locale.alias \
&& temp="${ADDITIONAL_LOCALES%\"}" \ && temp="${ADDITIONAL_LOCALES%\"}" \
&& temp="${temp#\"}" \ && temp="${temp#\"}" \
@ -863,6 +948,21 @@ RUN if [ ${INSTALL_SSHPASS} = true ]; then \
apt-get -y install sshpass \ apt-get -y install sshpass \
;fi ;fi
###########################################################################
# Docker Client:
###########################################################################
USER root
ARG INSTALL_DOCKER_CLIENT=false
RUN if [ ${INSTALL_DOCKER_CLIENT} = true ]; then \
curl -sS https://download.docker.com/linux/static/stable/x86_64/docker-20.10.3.tgz -o /tmp/docker.tar.gz && \
tar -xzf /tmp/docker.tar.gz -C /tmp/ && \
cp /tmp/docker/docker* /usr/local/bin && \
chmod +x /usr/local/bin/docker* \
;fi
########################################################################### ###########################################################################
# FFMPEG: # FFMPEG:
########################################################################### ###########################################################################
@ -884,7 +984,7 @@ USER root
ARG INSTALL_AUDIOWAVEFORM=false ARG INSTALL_AUDIOWAVEFORM=false
RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
apt-get -y install git wget make cmake gcc g++ libmad0-dev libid3tag0-dev libsndfile1-dev libgd-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \ apt-get -y install wget make cmake gcc g++ libmad0-dev libid3tag0-dev libsndfile1-dev libgd-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
&& git clone https://github.com/bbc/audiowaveform.git \ && git clone https://github.com/bbc/audiowaveform.git \
&& cd audiowaveform \ && cd audiowaveform \
&& wget https://github.com/google/googletest/archive/release-1.10.0.tar.gz \ && wget https://github.com/google/googletest/archive/release-1.10.0.tar.gz \
@ -908,17 +1008,17 @@ USER root
ARG INSTALL_WKHTMLTOPDF=false ARG INSTALL_WKHTMLTOPDF=false
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
apt-get install -y \ apt-get install -yqq \
libxrender1 \ libxrender1 \
libfontconfig1 \ libfontconfig1 \
libx11-dev \ libx11-dev \
libjpeg62 \ libjpeg62 \
libxtst6 \ libxtst6 \
fontconfig \ fontconfig \
libjpeg62-turbo \ libjpeg62-turbo \
xfonts-base \ xfonts-base \
xfonts-75dpi \ xfonts-75dpi \
wget \ wget \
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.stretch_amd64.deb \ && wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.stretch_amd64.deb \
&& dpkg -i wkhtmltox_0.12.6-1.stretch_amd64.deb \ && dpkg -i wkhtmltox_0.12.6-1.stretch_amd64.deb \
&& apt -f install \ && apt -f install \
@ -960,7 +1060,13 @@ RUN if [ ${INSTALL_CACHETOOL} = true ]; then \
ARG INSTALL_XMLRPC=false ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
docker-php-ext-install xmlrpc \ apt-get -yq install libxml2-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install xmlrpc-1.0.0RC2; \
docker-php-ext-enable xmlrpc; \
else \
docker-php-ext-install xmlrpc; \
fi \
;fi ;fi
########################################################################### ###########################################################################

1944
php-fpm/php8.0.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@ -38,9 +38,9 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \ pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 && docker-php-ext-enable memcached \
;else \ ;else \
pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \ pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached \
;fi ;fi
# Add a non-root user: # Add a non-root user:
@ -59,6 +59,23 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
docker-php-ext-install bz2; \ docker-php-ext-install bz2; \
fi fi
###########################################################################
# PHP GnuPG:
###########################################################################
ARG INSTALL_GNUPG=false
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 gpgme; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
pecl install gnupg-1.5.0RC2; \
else \
pecl install gnupg; \
fi; \
docker-php-ext-enable gnupg; \
fi
#Install GD package: #Install GD package:
ARG INSTALL_GD=false ARG INSTALL_GD=false
RUN if [ ${INSTALL_GD} = true ]; then \ RUN if [ ${INSTALL_GD} = true ]; then \
@ -69,11 +86,31 @@ RUN if [ ${INSTALL_GD} = true ]; then \
#Install ImageMagick: #Install ImageMagick:
ARG INSTALL_IMAGEMAGICK=false ARG INSTALL_IMAGEMAGICK=false
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ ARG IMAGEMAGICK_VERSION=latest
apk add --update imagemagick-dev imagemagick; \ ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
pecl install imagick; \ RUN set -eux; \
docker-php-ext-enable imagick \ if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
;fi apk add --update --no-cache imagemagick-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
apk add --update --no-cache git && \
cd /tmp && \
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
git clone https://github.com/Imagick/imagick; \
else \
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
fi && \
cd imagick && \
phpize && \
./configure && \
make && \
make install && \
rm -r /tmp/imagick; \
else \
pecl install imagick; \
fi && \
docker-php-ext-enable imagick; \
php -m | grep -q 'imagick'; \
fi
#Install GMP package: #Install GMP package:
ARG INSTALL_GMP=false ARG INSTALL_GMP=false
@ -88,6 +125,18 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
docker-php-ext-install soap \ docker-php-ext-install soap \
;fi ;fi
# Install MongoDB drivers:
ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo; \
docker-php-ext-enable mongo; \
else \
pecl install mongodb; \
docker-php-ext-enable mongodb; \
fi; \
fi
#Install BCMath package: #Install BCMath package:
ARG INSTALL_BCMATH=false ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \ RUN if [ ${INSTALL_BCMATH} = true ]; then \
@ -194,14 +243,20 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
&& make install \ && make install \
;fi ;fi
# Install AMQP: # Install AMQP:
ARG INSTALL_AMQP=false ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
apk --update add rabbitmq-c rabbitmq-c-dev && \ apk del -q openssl openssl-dev && \
pecl install amqp && \ apk --update add -q rabbitmq-c rabbitmq-c-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
printf "\n" | pecl install amqp-1.11.0beta; \
else \
printf "\n" | pecl install amqp; \
fi && \
docker-php-ext-enable amqp && \ docker-php-ext-enable amqp && \
apk del -q rabbitmq-c-dev && \
apk add --update -q openssl openssl-dev && \
docker-php-ext-install sockets \ docker-php-ext-install sockets \
;fi ;fi
@ -219,21 +274,24 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
# Install Cassandra drivers: # Install Cassandra drivers:
ARG INSTALL_CASSANDRA=false ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
apk --update add cassandra-cpp-driver \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
;fi echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
else \
WORKDIR /usr/src apk add --update --no-cache cassandra-cpp-driver libuv gmp \
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ && apk add --update --no-cache cassandra-cpp-driver-dev gmp-dev --virtual .build-sec \
git clone https://github.com/datastax/php-driver.git \ && cd /usr/src \
&& cd php-driver/ext \ && git clone https://github.com/datastax/php-driver.git \
&& phpize \ && cd php-driver/ext \
&& mkdir -p /usr/src/php-driver/build \ && phpize \
&& cd /usr/src/php-driver/build \ && mkdir -p /usr/src/php-driver/build \
&& ../ext/configure --with-php-config=/usr/bin/php-config7.1 > /dev/null \ && cd /usr/src/php-driver/build \
&& make clean >/dev/null \ && ../ext/configure > /dev/null \
&& make >/dev/null 2>&1 \ && make clean > /dev/null \
&& make install \ && make > /dev/null 2>&1 \
&& docker-php-ext-enable cassandra \ && make install \
&& docker-php-ext-enable cassandra \
&& apk del .build-sec; \
fi \
;fi ;fi
# Install Phalcon ext # Install Phalcon ext

View File

@ -5,10 +5,5 @@ LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"
# Add volume for sessions to allow session persistence # Add volume for sessions to allow session persistence
VOLUME /sessions 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 # We expose phpMyAdmin on port 80
EXPOSE 80 EXPOSE 80

View File

@ -14,10 +14,20 @@ if [ -n "${PHP_VERSION}" ]; then
cp env-example .env cp env-example .env
sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${PHP_VERSION}/g" .env sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${PHP_VERSION}/g" .env
sed -i -- 's/=false/=true/g' .env sed -i -- 's/=false/=true/g' .env
sed -i -- 's/CHANGE_SOURCE=true/CHANGE_SOURCE=false/g' .env
sed -i -- 's/PHPDBG=true/PHPDBG=false/g' .env sed -i -- 's/PHPDBG=true/PHPDBG=false/g' .env
sed -i -- 's/CASSANDRA=true/CASSANDRA=false/g' .env
sed -i -- 's/GEARMAN=true/GEARMAN=false/g' .env
sed -i -- 's/AEROSPIKE=true/AEROSPIKE=false/g' .env
sed -i -- 's/PHALCON=true/PHALCON=false/g' .env
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
sed -i -- 's/SWOOLE=true/SWOOLE=false/g' .env
sed -i -- 's/V8JS=true/V8JS=false/g' .env
if [ "${PHP_VERSION}" == "5.6" ]; then if [ "${PHP_VERSION}" == "5.6" ]; then
# Aerospike C Client SDK 4.0.7, Debian 9.6 is not supported # Aerospike C Client SDK 4.0.7, Debian 9.6 is not supported
# https://github.com/aerospike/aerospike-client-php5/issues/145 # https://github.com/aerospike/aerospike-client-php5/issues/145
sed -i -- 's/WORKSPACE_INSTALL_AEROSPIKE=true/WORKSPACE_INSTALL_AEROSPIKE=false/g' .env
sed -i -- 's/PHP_FPM_INSTALL_AEROSPIKE=true/PHP_FPM_INSTALL_AEROSPIKE=false/g' .env sed -i -- 's/PHP_FPM_INSTALL_AEROSPIKE=true/PHP_FPM_INSTALL_AEROSPIKE=false/g' .env
fi fi
if [ "${PHP_VERSION}" == "7.3" ]; then if [ "${PHP_VERSION}" == "7.3" ]; then

View File

@ -61,7 +61,7 @@ RUN set -xe; \
apt-get update -yqq && \ apt-get update -yqq && \
pecl channel-update pecl.php.net && \ pecl channel-update pecl.php.net && \
groupadd -g ${PGID} laradock && \ groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock -G docker_env && \ useradd -l -u ${PUID} -g laradock -m laradock -G docker_env && \
usermod -p "*" laradock -s /bin/bash && \ usermod -p "*" laradock -s /bin/bash && \
apt-get install -yqq \ apt-get install -yqq \
apt-utils \ apt-utils \
@ -147,6 +147,11 @@ RUN chown -R laradock:laradock /home/laradock/.composer
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
# Update composer
ARG COMPOSER_VERSION=2
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
RUN composer self-update --${COMPOSER_VERSION}
USER laradock USER laradock
# Check if global install need to be ran # Check if global install need to be ran
@ -198,14 +203,6 @@ COPY ./crontab /etc/cron.d
RUN chmod -R 644 /etc/cron.d RUN chmod -R 644 /etc/cron.d
###########################################################################
# Update Repositories
###########################################################################
USER root
RUN apt-get update -yqq
########################################################################### ###########################################################################
# Drush: # Drush:
########################################################################### ###########################################################################
@ -220,7 +217,7 @@ ARG DRUSH_VERSION
ENV DRUSH_VERSION ${DRUSH_VERSION} ENV DRUSH_VERSION ${DRUSH_VERSION}
RUN if [ ${INSTALL_DRUSH} = true ]; then \ RUN if [ ${INSTALL_DRUSH} = true ]; then \
apt-get -y install mysql-client && \ apt-get -qq -y install mysql-client && \
# Install Drush with the phar file. # Install Drush with the phar file.
curl -fsSL -o /usr/local/bin/drush https://github.com/drush-ops/drush/releases/download/${DRUSH_VERSION}/drush.phar | bash && \ curl -fsSL -o /usr/local/bin/drush https://github.com/drush-ops/drush/releases/download/${DRUSH_VERSION}/drush.phar | bash && \
chmod +x /usr/local/bin/drush && \ chmod +x /usr/local/bin/drush && \
@ -243,111 +240,90 @@ RUN if [ ${INSTALL_WP_CLI} = true ]; then \
;fi ;fi
########################################################################### ###########################################################################
# BZ2: USER root
###########################################################################
ARG INSTALL_BZ2=false ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \
apt-get -y install php${LARADOCK_PHP_VERSION}-bz2 \
;fi
###########################################################################
# GMP (GNU Multiple Precision):
###########################################################################
USER root
ARG INSTALL_GMP=false ARG INSTALL_GMP=false
ARG INSTALL_GNUPG=false
ARG INSTALL_SSH2=false
ARG INSTALL_SOAP=false
ARG INSTALL_XSL=false
ARG PHP_VERSION=${LARADOCK_PHP_VERSION} ARG PHP_VERSION=${LARADOCK_PHP_VERSION}
RUN if [ ${INSTALL_GMP} = true ]; then \ RUN set -eux; \
# Install the PHP GMP extension ###########################################################################
apt-get -y install php${LARADOCK_PHP_VERSION}-gmp \ # BZ2:
;fi ###########################################################################
if [ ${INSTALL_BZ2} = true ]; then \
apt-get -yqq install php${LARADOCK_PHP_VERSION}-bz2; \
fi; \
###########################################################################
# GMP (GNU Multiple Precision):
###########################################################################
if [ ${INSTALL_GMP} = true ]; then \
# Install the PHP GMP extension
apt-get -yqq install php${LARADOCK_PHP_VERSION}-gmp; \
fi; \
###########################################################################
# GnuPG:
###########################################################################
if [ ${INSTALL_GNUPG} = true ]; then \
apt-get -yqq install php${LARADOCK_PHP_VERSION}-gnupg; \
fi; \
###########################################################################
# SSH2:
###########################################################################
if [ ${INSTALL_SSH2} = true ]; then \
# Install the PHP SSH2 extension
apt-get -yqq install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2; \
fi; \
###########################################################################
# SOAP:
###########################################################################
if [ ${INSTALL_SOAP} = true ]; then \
# Install the PHP SOAP extension
apt-get -yqq install libxml2-dev php${LARADOCK_PHP_VERSION}-soap; \
fi; \
###########################################################################
# XSL:
###########################################################################
if [ ${INSTALL_XSL} = true ]; then \
# Install the PHP XSL extension
apt-get -yqq install libxslt-dev php${LARADOCK_PHP_VERSION}-xsl; \
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:
###########################################################################
USER root
ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the PHP SOAP extension
apt-get -y install libxml2-dev php${LARADOCK_PHP_VERSION}-soap \
;fi
###########################################################################
# XSL:
###########################################################################
USER root
ARG INSTALL_XSL=false
RUN if [ ${INSTALL_XSL} = true ]; then \
# Install the PHP XSL extension
apt-get -y install libxslt-dev php${LARADOCK_PHP_VERSION}-xsl \
;fi
###########################################################################
# LDAP:
########################################################################### ###########################################################################
ARG INSTALL_LDAP=false ARG INSTALL_LDAP=false
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -y libldap2-dev && \
apt-get install -y php${LARADOCK_PHP_VERSION}-ldap \
;fi
###########################################################################
# SMB:
###########################################################################
ARG INSTALL_SMB=false ARG INSTALL_SMB=false
RUN if [ ${INSTALL_SMB} = true ]; then \
apt-get install -y smbclient php-smbclient coreutils \
;fi
###########################################################################
# IMAP:
###########################################################################
ARG INSTALL_IMAP=false ARG INSTALL_IMAP=false
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -y php${LARADOCK_PHP_VERSION}-imap \
;fi
###########################################################################
# Subversion:
###########################################################################
USER root
ARG INSTALL_SUBVERSION=false ARG INSTALL_SUBVERSION=false
RUN if [ ${INSTALL_SUBVERSION} = true ]; then \ RUN set -eux; \
apt-get install -y subversion \ ###########################################################################
;fi # LDAP:
###########################################################################
if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -yqq libldap2-dev php${LARADOCK_PHP_VERSION}-ldap; \
fi; \
###########################################################################
# SMB:
###########################################################################
if [ ${INSTALL_SMB} = true ]; then \
apt-get install -yqq smbclient php-smbclient coreutils; \
fi; \
###########################################################################
# IMAP:
###########################################################################
if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -yqq php${LARADOCK_PHP_VERSION}-imap; \
fi; \
###########################################################################
# Subversion:
###########################################################################
if [ ${INSTALL_SUBVERSION} = true ]; then \
apt-get install -yqq subversion; \
fi
########################################################################### ###########################################################################
# xDebug: # xDebug:
@ -498,8 +474,12 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ARG INSTALL_AMQP=false ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \ apt-get install -yqq librabbitmq-dev && \
pecl -q install amqp && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
printf "\n" | pecl install amqp-1.11.0beta; \
else \
printf "\n" | pecl install amqp; \
fi && \
echo "extension=amqp.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini && \ echo "extension=amqp.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \
;fi ;fi
@ -511,28 +491,32 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
ARG INSTALL_CASSANDRA=false ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
apt-get install libgmp-dev -y && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
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 && \ echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
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 && \ else \
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 && \ apt-get install libgmp-dev -yqq && \
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 && \ curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb -o libuv1-dev.deb && \
dpkg -i libuv1.deb && \ curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb -o libuv1.deb && \
dpkg -i libuv1-dev.deb && \ curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
dpkg -i cassandra-cpp-driver.deb && \ curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb -o cassandra-cpp-driver.deb && \
dpkg -i cassandra-cpp-driver-dev.deb && \ dpkg -i libuv1.deb && \
rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \ dpkg -i libuv1-dev.deb && \
cd /usr/src && \ dpkg -i cassandra-cpp-driver.deb && \
git clone https://github.com/datastax/php-driver.git && \ dpkg -i cassandra-cpp-driver-dev.deb && \
cd /usr/src/php-driver/ext && \ rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \
phpize && \ cd /usr/src && \
mkdir /usr/src/php-driver/build && \ git clone https://github.com/datastax/php-driver.git && \
cd /usr/src/php-driver/build && \ cd /usr/src/php-driver/ext && \
../ext/configure > /dev/null && \ phpize && \
make clean >/dev/null && \ mkdir /usr/src/php-driver/build && \
make >/dev/null 2>&1 && \ cd /usr/src/php-driver/build && \
make install && \ ../ext/configure > /dev/null && \
echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \ make clean >/dev/null && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini \ 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 \
;fi ;fi
########################################################################### ###########################################################################
@ -544,7 +528,7 @@ ARG INSTALL_GEARMAN=false
RUN if [ ${INSTALL_GEARMAN} = true ]; then \ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
add-apt-repository -y ppa:ondrej/pkg-gearman && \ add-apt-repository -y ppa:ondrej/pkg-gearman && \
apt-get update && \ apt-get update && \
apt-get install php-gearman -y \ apt-get -yqq install php-gearman \
;fi ;fi
########################################################################### ###########################################################################
@ -554,8 +538,7 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
ARG INSTALL_PHPREDIS=false ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
apt-get update -yqq && \ apt-get install -yqq php${LARADOCK_PHP_VERSION}-redis \
apt-get install -yqq php-redis \
;fi ;fi
########################################################################### ###########################################################################
@ -564,21 +547,22 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
ARG INSTALL_SWOOLE=false ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \ RUN set -eux; \
# Install Php Swoole Extension if [ ${INSTALL_SWOOLE} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ # Install Php Swoole Extension
pecl -q install swoole-2.0.10; \ if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \
else \ pecl install swoole-2.0.10; \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
pecl install swoole-2.2.0; \ pecl install swoole-4.3.5; \
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
pecl install swoole-4.5.11; \
else \ else \
pecl install swoole; \ pecl install swoole; \
fi \ fi; \
fi && \ echo "extension=swoole.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini; \
echo "extension=swoole.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini && \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-swoole.ini; \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-swoole.ini \ php -m | grep -q 'swoole'; \
&& php -m | grep -q 'swoole' \ fi
;fi
########################################################################### ###########################################################################
# Taint EXTENSION # Taint EXTENSION
@ -603,8 +587,7 @@ RUN if [ "${INSTALL_TAINT}" = true ]; then \
ARG INSTALL_LIBPNG=false ARG INSTALL_LIBPNG=false
RUN if [ ${INSTALL_LIBPNG} = true ]; then \ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
apt-get update && \ apt-get -yqq install libpng16-16 \
apt-get install libpng16-16 \
;fi ;fi
########################################################################### ###########################################################################
@ -614,10 +597,10 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
ARG INSTALL_INOTIFY=false ARG INSTALL_INOTIFY=false
RUN if [ ${INSTALL_INOTIFY} = true ]; then \ RUN if [ ${INSTALL_INOTIFY} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl -q install inotify-0.1.6 && \ pecl -q install inotify-0.1.6 && \
echo "extension=inotify.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini && \ echo "extension=inotify.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-inotify.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-inotify.ini; \
else \ else \
pecl -q install inotify && \ pecl -q install inotify && \
echo "extension=inotify.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini && \ echo "extension=inotify.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini && \
@ -630,7 +613,7 @@ RUN if [ ${INSTALL_INOTIFY} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_AST=false ARG INSTALL_AST=false
ARG AST_VERSION=1.0.3 ARG AST_VERSION=1.0.10
ENV AST_VERSION ${AST_VERSION} ENV AST_VERSION ${AST_VERSION}
RUN if [ ${INSTALL_AST} = true ]; then \ RUN if [ ${INSTALL_AST} = true ]; then \
@ -664,8 +647,7 @@ RUN if [ ${INSTALL_FSWATCH} = true ]; then \
ARG INSTALL_GRAPHVIZ=false ARG INSTALL_GRAPHVIZ=false
RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
apt-get update && \ apt-get install -yqq graphviz \
apt-get install -y graphviz \
;fi ;fi
# IonCube Loader # IonCube Loader
@ -674,12 +656,15 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
ARG INSTALL_IONCUBE=false ARG INSTALL_IONCUBE=false
RUN if [ ${INSTALL_IONCUBE} = true ]; then \ RUN if [ ${INSTALL_IONCUBE} = true ]; then \
# Install the php ioncube loader if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \ # Install the php ioncube loader
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \ curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \ && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
&& echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/0ioncube.ini \ && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& rm -rf /tmp/ioncube* \ && 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 \
&& rm -rf /tmp/ioncube* \
;fi \
;fi ;fi
########################################################################### ###########################################################################
@ -867,19 +852,23 @@ RUN set -xe; \
&& \ && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
( \ ( \
cd /tmp/aerospike-client-php/src/aerospike \ cd /tmp/aerospike-client-php/src/aerospike \
&& phpize \ && phpize \
&& ./build.sh \ && ./build.sh \
&& make install \ && make install \
) \ ) \
else \ else \
( \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
cd /tmp/aerospike-client-php/src \ ( \
&& phpize \ cd /tmp/aerospike-client-php/src \
&& ./build.sh \ && phpize \
&& make install \ && ./build.sh \
) \ && make install \
fi \ ) \
else \
echo "AEROSPIKE does not support PHP 8.0" \
;fi \
;fi \
&& rm /tmp/aerospike-client-php.tar.gz \ && rm /tmp/aerospike-client-php.tar.gz \
&& echo 'extension=aerospike.so' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \ && echo 'extension=aerospike.so' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \ && echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
@ -960,7 +949,7 @@ ARG INSTALL_LARAVEL_ENVOY=false
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
# Install the Laravel Envoy # Install the Laravel Envoy
composer global require "laravel/envoy=~2.0" \ composer global require laravel/envoy \
;fi ;fi
########################################################################### ###########################################################################
@ -1005,13 +994,13 @@ RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
########################################################################### ###########################################################################
# Prestissimo: # Prestissimo:
########################################################################### ###########################################################################
USER laradock
ARG INSTALL_PRESTISSIMO=false ARG INSTALL_PRESTISSIMO=false
RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \ RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \
# Install Prestissimo if [ $(php -r "echo COMPOSER_VERSION;") = "1" ]; then \
composer global require "hirak/prestissimo" \ # Install Prestissimo
composer global require "hirak/prestissimo" \
;fi \
;fi ;fi
########################################################################### ###########################################################################
@ -1051,7 +1040,7 @@ ARG INSTALL_MSSQL=false
RUN set -eux; \ RUN set -eux; \
if [ ${INSTALL_MSSQL} = true ]; then \ if [ ${INSTALL_MSSQL} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
apt-get -y install php5.6-sybase freetds-bin freetds-common libsybdb5 \ apt-get install -yqq php5.6-sybase freetds-bin freetds-common libsybdb5 \
&& php -m | grep -q 'mssql' \ && php -m | grep -q 'mssql' \
&& php -m | grep -q 'pdo_dblib' \ && php -m | grep -q 'pdo_dblib' \
;else \ ;else \
@ -1062,22 +1051,24 @@ RUN set -eux; \
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
apt-get update -yqq && \ apt-get update -yqq && \
ACCEPT_EULA=Y apt-get install -y msodbcsql17 mssql-tools unixodbc unixodbc-dev libgss3 odbcinst locales && \ ACCEPT_EULA=Y apt-get install -yqq msodbcsql17 mssql-tools unixodbc unixodbc-dev libgss3 odbcinst locales && \
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd && \ ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd && \
ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \ ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \ locale-gen && \
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "2" ]; then \
pecl install sqlsrv-5.3.0 pdo_sqlsrv-5.3.0 \ pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \ ;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
pecl install sqlsrv-5.6.1 pdo_sqlsrv-5.6.1 \ pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \
;else \ ;else \
pecl install sqlsrv pdo_sqlsrv \ pecl install pdo_sqlsrv sqlsrv \
;fi && \ ;fi && \
echo "extension=sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \ echo "extension=sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-pdo_sqlsrv.ini \ echo "extension=pdo_sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-pdo_sqlsrv.ini && \
&& php -m | grep -q 'sqlsrv' \ php -m | grep -q 'sqlsrv' && \
&& php -m | grep -q 'pdo_sqlsrv' \ php -m | grep -q 'pdo_sqlsrv' \
;fi \ ;fi \
;fi ;fi
@ -1123,14 +1114,10 @@ ARG INSTALL_SYMFONY=false
RUN if [ ${INSTALL_SYMFONY} = true ]; then \ RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \ mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \ && apt-get -y install sudo wget \
&& wget --quiet https://get.symfony.com/cli/installer -O - | bash \
&& mv /root/.symfony/bin/symfony /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \ && chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi ;fi
########################################################################### ###########################################################################
@ -1195,9 +1182,30 @@ USER laradock
USER root USER root
ARG INSTALL_IMAGEMAGICK=false ARG INSTALL_IMAGEMAGICK=false
ARG IMAGEMAGICK_VERSION=latest
ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y imagemagick php-imagick \ apt-get install -y libmagickwand-dev imagemagick && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
apt-get install -y git && \
cd /tmp && \
if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \
git clone https://github.com/Imagick/imagick; \
else \
git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \
fi && \
cd imagick && \
phpize && \
./configure && \
make && \
make install && \
rm -r /tmp/imagick; \
else \
pecl install imagick; \
fi && \
echo "extension=imagick.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/imagick.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/imagick.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-imagick.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -1209,7 +1217,7 @@ USER root
ARG INSTALL_TERRAFORM=false ARG INSTALL_TERRAFORM=false
RUN if [ ${INSTALL_TERRAFORM} = true ]; then \ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
apt-get -y install sudo wget unzip \ apt-get -yqq install sudo wget unzip \
&& wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \ && wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \
&& unzip terraform_0.10.6_linux_amd64.zip \ && unzip terraform_0.10.6_linux_amd64.zip \
&& mv terraform /usr/local/bin \ && mv terraform /usr/local/bin \
@ -1225,7 +1233,7 @@ ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client # Install the pgsql client
apt-get install wget \ apt-get -yqq install wget \
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \
&& apt-get update \ && apt-get update \
@ -1267,7 +1275,7 @@ ARG LARADOCK_PHALCON_VERSION
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION} ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\ apt-get update && apt-get install -yqq unzip libpcre3-dev gcc make re2c git automake autoconf\
&& git clone https://github.com/jbboehr/php-psr.git \ && git clone https://github.com/jbboehr/php-psr.git \
&& cd php-psr \ && cd php-psr \
&& phpize \ && phpize \
@ -1286,89 +1294,81 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
;fi ;fi
########################################################################### ###########################################################################
# MySQL Client:
###########################################################################
USER root USER root
ARG INSTALL_MYSQL_CLIENT=false ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client \
;fi
###########################################################################
# ping:
###########################################################################
USER root
ARG INSTALL_PING=false ARG INSTALL_PING=false
RUN if [ ${INSTALL_PING} = true ]; then \
apt-get update -yqq && \
apt-get -y install inetutils-ping \
;fi
###########################################################################
# sshpass:
###########################################################################
USER root
ARG INSTALL_SSHPASS=false ARG INSTALL_SSHPASS=false
ARG INSTALL_DOCKER_CLIENT=false
RUN if [ ${INSTALL_SSHPASS} = true ]; then \ RUN set -eux; \
apt-get update -yqq && \ ###########################################################################
apt-get -y install sshpass \ # MySQL Client:
;fi ###########################################################################
if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apt-get -yqq install mysql-client; \
fi; \
###########################################################################
# ping:
###########################################################################
if [ ${INSTALL_PING} = true ]; then \
apt-get -yqq install inetutils-ping; \
fi; \
###########################################################################
# sshpass:
###########################################################################
if [ ${INSTALL_SSHPASS} = true ]; then \
apt-get -yqq install sshpass; \
fi; \
###########################################################################
# Docker Client:
###########################################################################
if [ ${INSTALL_DOCKER_CLIENT} = true ]; then \
curl -sS https://download.docker.com/linux/static/stable/x86_64/docker-20.10.3.tgz -o /tmp/docker.tar.gz; \
tar -xzf /tmp/docker.tar.gz -C /tmp/; \
cp /tmp/docker/docker* /usr/local/bin; \
chmod +x /usr/local/bin/docker*; \
fi
########################################################################### ###########################################################################
# YAML: extension for PHP-CLI
###########################################################################
USER root USER root
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
###########################################################################
# RDKAFKA:
###########################################################################
ARG INSTALL_RDKAFKA=false ARG INSTALL_RDKAFKA=false
RUN if [ ${INSTALL_RDKAFKA} = true ]; then \
apt-get install -y librdkafka-dev && \
pecl install rdkafka && \
echo "extension=rdkafka.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-rdkafka.ini \
&& php -m | grep -q 'rdkafka' \
;fi
###########################################################################
# FFMpeg:
###########################################################################
USER root
ARG INSTALL_FFMPEG=false ARG INSTALL_FFMPEG=false
RUN if [ ${INSTALL_FFMPEG} = true ]; then \ RUN set -eux; \
apt-get -y install ffmpeg \ ###########################################################################
;fi # YAML: extension for PHP-CLI
###########################################################################
if [ ${INSTALL_YAML} = true ]; then \
apt-get install -yqq libyaml-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
echo '' | pecl install -a yaml-1.3.2; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
echo '' | pecl install yaml-2.0.4; \
else \
echo '' | 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; \
###########################################################################
# RDKAFKA:
###########################################################################
if [ ${INSTALL_RDKAFKA} = true ]; then \
apt-get install -yqq librdkafka-dev; \
pecl install rdkafka; \
echo "extension=rdkafka.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini; \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-rdkafka.ini; \
php -m | grep -q 'rdkafka'; \
fi; \
###########################################################################
# FFMpeg:
###########################################################################
if [ ${INSTALL_FFMPEG} = true ]; then \
apt-get -yqq install ffmpeg; \
fi
########################################################################### ###########################################################################
# BBC Audio Waveform Image Generator: # BBC Audio Waveform Image Generator:
@ -1408,7 +1408,7 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
libx11-dev \ libx11-dev \
libjpeg62 \ libjpeg62 \
libxtst6 \ libxtst6 \
fontconfig \ fontconfig \
libjpeg-turbo8-dev \ libjpeg-turbo8-dev \
xfonts-base \ xfonts-base \
xfonts-75dpi \ xfonts-75dpi \
@ -1437,7 +1437,7 @@ USER root
ARG INSTALL_GNU_PARALLEL=false ARG INSTALL_GNU_PARALLEL=false
RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \ RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \
apt-get -y install parallel \ apt-get -yqq install parallel \
;fi ;fi
########################################################################### ###########################################################################
@ -1461,7 +1461,7 @@ RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \
ARG INSTALL_XMLRPC=false ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
docker-php-ext-install xmlrpc \ apt-get install -yqq php${LARADOCK_PHP_VERSION}-xmlrpc \
;fi ;fi
########################################################################### ###########################################################################
@ -1471,7 +1471,7 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
ARG INSTALL_LNAV=false ARG INSTALL_LNAV=false
RUN if [ ${INSTALL_LNAV} = true ]; then \ RUN if [ ${INSTALL_LNAV} = true ]; then \
apt-get install -y lnav \ apt-get install -yqq lnav \
;fi ;fi
########################################################################### ###########################################################################
@ -1579,8 +1579,6 @@ RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
echo "" >> ~/.zshrc \ echo "" >> ~/.zshrc \
;fi ;fi
USER root
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Final Touch # Final Touch