Compare commits

...

67 Commits
0.49 ... 0.68

Author SHA1 Message Date
cytopia
6cd2ef4a1b Merge pull request #88 from devilbox/release-0.68
Release 0.68
2019-01-10 23:40:50 +01:00
cytopia
622af7851a Keep pulling third-party Docker images until success 2019-01-10 20:08:21 +01:00
cytopia
b2c1b8e453 Add new tool: PHP-CS-Fixer 2019-01-10 15:08:12 +01:00
cytopia
4a1efb6b74 Do not startup pm2 during version check 2019-01-10 12:27:20 +01:00
cytopia
e843265575 Fix curl downloads 2019-01-10 12:26:06 +01:00
cytopia
ff0b86c37c Merge pull request #87 from devilbox/release-0.67
Re-enable oci8 for PHP 5.3, 5.4 and 5.5
2019-01-04 17:15:05 +01:00
cytopia
166eff3347 Re-enable oci8 for PHP 5.3, 5.4 and 5.5 2019-01-04 15:45:14 +01:00
cytopia
d309c38a41 Merge pull request #86 from devilbox/release-0.66
Release 0.66
2019-01-04 02:06:06 +01:00
cytopia
9fedd002e8 Fix amqp for PHP 5.3, 5.4 and 5.5 2019-01-04 00:46:51 +01:00
cytopia
61352d2451 Disable oci8 module on legacy versions: 5.2, 5.3, 5.4 and 5.5 2019-01-03 18:14:31 +01:00
cytopia
628720af0e Adding blackfire PHP module and server and client tools 2019-01-02 16:34:29 +01:00
cytopia
af427a7e0a Fix building the module index 2019-01-02 16:32:48 +01:00
cytopia
5b72766680 Merge pull request #85 from devilbox/release-0.65
Oracle oci8 and pdo_oci modules
2019-01-01 20:22:41 +01:00
cytopia
ec82710b48 Oracle oci8 and pdo_oci modules 2019-01-01 17:53:46 +01:00
cytopia
8f53730254 Merge pull request #83 from devilbox/release-0.64
Release 0.64
2018-12-28 20:42:22 +01:00
cytopia
cb9826eff5 Dont install phar on already available versions 2018-12-28 18:54:57 +01:00
cytopia
452269c1b0 Use two init levels for startup scripts 2018-12-28 18:47:57 +01:00
cytopia
3926ee7c7d Check for pm2 installation 2018-12-28 18:42:35 +01:00
cytopia
f376fd6766 PHP module readline only needs to be checked for cli usage 2018-12-28 18:00:16 +01:00
cytopia
6e0db69047 Add tool: Node.js Process Manager with a built-in Load Balancer 2018-12-28 17:50:23 +01:00
cytopia
a645486c84 Fix readline for PHP 5.3 2018-12-28 17:48:05 +01:00
cytopia
f0bc16ef5f Clean up build files 2018-12-28 15:19:55 +01:00
cytopia
bd3585596f Ensure to reflect available modules even if disabled by default 2018-12-28 14:48:46 +01:00
cytopia
54a8258bbc Merge pull request #81 from devilbox/pspell
Re-enable pspell for PHP 7.0, 7.1, 7.2 and 7.3
2018-12-28 14:24:45 +01:00
cytopia
33bb1f5213 Re-enable pspell 2018-12-27 18:01:35 +01:00
cytopia
16e65379d9 Merge pull request #82 from devilbox/release-0.62
Fix cphalcon php module support
2018-12-27 17:56:58 +01:00
cytopia
333297f8d7 Fix cphalcon for PHP 7.3 2018-12-27 16:30:59 +01:00
cytopia
ab68fd47a2 Remove broken pspell module 2018-12-27 14:50:34 +01:00
cytopia
820c08490a Fix cphalcon php module support 2018-12-27 14:49:44 +01:00
cytopia
ee6917b3ef Merge pull request #80 from devilbox/release-0.61
Release v0.61
2018-12-26 17:53:09 +01:00
cytopia
67d056811c Prefix variables to prevent name collisions 2018-12-26 16:21:02 +01:00
cytopia
1728629048 Merge pull request #79 from devilbox/release-0.60
Release 0.60
2018-12-26 15:23:35 +01:00
cytopia
dfaef4bd2c Fix cphalcon PHP module install 2018-12-26 11:49:23 +01:00
cytopia
0aa767e8c9 Disable pspell on 7.0, 7.1 and 7.2 due to segfaults 2018-12-26 11:48:44 +01:00
cytopia
651ef659b6 Ensure apt gpg keys are installed successfully 2018-12-26 11:37:35 +01:00
cytopia
e55469f7c1 Merge pull request #78 from devilbox/release-0.59
Custom startup scripts
2018-12-24 16:42:40 +01:00
cytopia
85991d2e3f Adding 'cron' binary 2018-12-24 13:58:30 +01:00
cytopia
70764c268c Add tests for custom startup scripts 2018-12-24 13:46:58 +01:00
cytopia
023ad2af60 Allow for custom user-supplied startup scripts 2018-12-24 13:46:41 +01:00
cytopia
4f1a054f8c Renamed entrypoint scripts to allow for more 2018-12-24 13:12:19 +01:00
cytopia
3f08a762f5 Use Docker VOLUME sections only where applicable 2018-12-24 12:19:42 +01:00
cytopia
689703a9b9 Merge pull request #77 from devilbox/release-0.58
Add PHP modules: sqlsrv and pdo_sqlsrv for MsSQL
2018-12-23 02:24:03 +01:00
cytopia
2f953cd062 Add PHP modules: sqlsrv and pdo_sqlsrv for MsSQL 2018-12-23 00:15:04 +01:00
cytopia
4fa6afe4e3 Merge pull request #76 from devilbox/release-0.57
Release 0.57
2018-12-22 19:36:58 +01:00
cytopia
66a5ce778a Update Devilbox bash logo 2018-12-22 16:33:06 +01:00
cytopia
adc5f28c4d Fix memcached install 2018-12-22 16:32:47 +01:00
cytopia
1a5600ff86 Merge pull request #73 from devilbox/release-0.56
WIP: Use latest stable PHP 7.3 base image
2018-12-17 19:41:26 +01:00
cytopia
a4bcf2b091 Drop mcrypt from PHP 7.3 2018-12-17 14:00:04 +01:00
cytopia
152a92386e Use latest stable PHP 7.3 base image 2018-12-17 10:52:05 +01:00
cytopia
66fa1c195e Merge pull request #72 from devilbox/php-module-reflection
Add reflection support
2018-12-17 00:45:12 +01:00
cytopia
87bc0aa085 Fix rb-inotify version 2018-12-16 22:26:46 +01:00
cytopia
faff334e14 Ensure to check against already available reflection module 2018-12-16 17:19:14 +01:00
cytopia
bbe3785091 Add reflection support 2018-12-16 01:59:35 +01:00
cytopia
3378d7a10b Merge pull request #70 from devilbox/release-0.54
Fixes #69: Loop yarn installs to mitigate network failures
2018-12-15 02:43:59 +01:00
cytopia
11ef4c6f3f Fixes #69: Loop yarn installs to mitigate network failures 2018-12-14 17:33:29 +01:00
cytopia
f90a3532fc Merge pull request #68 from devilbox/release-0.53
Add xdebug to PHP-FPM 7.3
2018-12-10 19:59:04 +01:00
cytopia
59ecc5dc11 Add xdebug to PHP-FPM 7.3 2018-12-10 14:32:44 +01:00
cytopia
a2d43259a4 Merge pull request #67 from devilbox/release-0.52
Fix drush9 build for work container
2018-12-08 12:02:10 +01:00
cytopia
2947a465f8 Remove extra spaces 2018-12-08 02:21:54 +01:00
cytopia
9f280dd5b1 Fix swoole build for PHP 7.3 and PHP 7.4 2018-12-08 02:09:33 +01:00
cytopia
68f11781f1 Fix memory limit for drush9 install 2018-12-08 01:53:48 +01:00
cytopia
8d2eee37f1 Fix #66 typo in readme 2018-12-07 18:55:09 +01:00
cytopia
3a29a77925 Fix drush9 build for work container 2018-12-07 18:53:23 +01:00
cytopia
79b9ed1308 Merge pull request #65 from devilbox/release-0.51
Ensure Travis-CI recognizes when being run as cronjob
2018-11-17 17:20:49 +01:00
cytopia
dc20fbea6e Ensure Travis-CI recognizes when being run as cronjob 2018-11-17 14:13:29 +01:00
cytopia
77716db302 Merge pull request #64 from devilbox/release-0.50
Fix PHP 5.3 autoconf
2018-11-11 12:08:14 +01:00
cytopia
62cc38d4af Fix PHP 5.3 autoconf 2018-11-10 21:05:14 +01:00
64 changed files with 1386 additions and 615 deletions

View File

@@ -98,11 +98,13 @@ script:
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin && echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin &&
if [ "${TRAVIS_BRANCH}" == "master" ]; then if [ "${TRAVIS_BRANCH}" == "master" ]; then
echo "Pushing latest";
docker push "${IMAGE}:${PHP}-base"; docker push "${IMAGE}:${PHP}-base";
docker push "${IMAGE}:${PHP}-mods"; docker push "${IMAGE}:${PHP}-mods";
docker push "${IMAGE}:${PHP}-prod"; docker push "${IMAGE}:${PHP}-prod";
docker push "${IMAGE}:${PHP}-work"; docker push "${IMAGE}:${PHP}-work";
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
echo "Pushing branch ${TRAVIS_BRANCH}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" && docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" && docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" && docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
@@ -112,6 +114,7 @@ script:
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}"; docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}"; docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
elif [ -n "${TRAVIS_TAG}" ]; then elif [ -n "${TRAVIS_TAG}" ]; then
echo "Pushing tag ${TRAVIS_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" && docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" && docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" && docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
@@ -120,6 +123,18 @@ script:
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}"; docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}"; docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}"; docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then
echo "Pushing cron tag ${MY_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${MY_TAG}" &&
docker push "${IMAGE}:${PHP}-base-${MY_TAG}";
docker push "${IMAGE}:${PHP}-mods-${MY_TAG}";
docker push "${IMAGE}:${PHP}-prod-${MY_TAG}";
docker push "${IMAGE}:${PHP}-work-${MY_TAG}";
fi
else else
echo "Skipping push to dockerhub on normal branches"; echo "Skipping push to dockerhub on normal branches";
fi fi

View File

@@ -1,5 +1,5 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead. # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
FROM php:7.3-rc-fpm FROM php:7.3-fpm
MAINTAINER "cytopia" <cytopia@everythingcli.org> MAINTAINER "cytopia" <cytopia@everythingcli.org>

View File

@@ -24,6 +24,7 @@ ENV BUILD_DEPS \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libib-util \ libib-util \
@@ -202,6 +203,12 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& pecl install memcache \ && pecl install memcache \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
@@ -220,12 +227,6 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
&& (rm -rf /usr/local/lib/php/test/mongo || true) \ && (rm -rf /usr/local/lib/php/test/mongo || true) \
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \ && (rm -rf /usr/local/lib/php/doc/mongo || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& pecl install zendopcache \ && pecl install zendopcache \
&& docker-php-ext-enable opcache \ && docker-php-ext-enable opcache \
@@ -438,14 +439,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongo$' \ && php -m | grep -oiE '^mongo$' \
&& php-fpm -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysql$' \
&& php-fpm -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
@@ -479,11 +480,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \ && php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \ && php -m | grep -oiE '^shmop$' \
@@ -496,6 +498,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
&& php-fpm -m | grep -oiE '^sysvmsg$' \ && php-fpm -m | grep -oiE '^sysvmsg$' \
&& php -m | grep -oiE '^sysvsem$' \ && php -m | grep -oiE '^sysvsem$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -32,8 +35,10 @@ ENV BUILD_DEPS \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
@@ -53,6 +58,7 @@ ENV BUILD_DEPS \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -60,9 +66,11 @@ ENV RUN_DEPS \
libfreetype6 \ libfreetype6 \
libicu52 \ libicu52 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libmysqlclient18 \ libmysqlclient18 \
libnghttp2-5 \
libpng12-0 \ libpng12-0 \
libpq5 \ libpq5 \
librabbitmq1 \ librabbitmq1 \
@@ -102,7 +110,7 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \ && (rm -rf /usr/local/lib/php/doc/ioncube || true) \
\ \
# ---- Installing PHP Extension: amqp ---- # ---- Installing PHP Extension: amqp ----
&& echo "/usr" | pecl install amqp \ && pecl install amqp-1.9.3 \
&& docker-php-ext-enable amqp \ && docker-php-ext-enable amqp \
&& (rm -rf /usr/local/lib/php/test/amqp || true) \ && (rm -rf /usr/local/lib/php/test/amqp || true) \
&& (rm -rf /usr/local/lib/php/doc/amqp || true) \ && (rm -rf /usr/local/lib/php/doc/amqp || true) \
@@ -168,11 +176,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \ && (rm -rf /usr/local/lib/php/doc/gmp || true) \
\ \
# ---- Installing PHP Extension: igbinary ---- # ---- Installing PHP Extension: igbinary ----
&& pecl install igbinary-2.0.7 \ && pecl install igbinary \
&& docker-php-ext-enable igbinary \ && docker-php-ext-enable igbinary \
&& (rm -rf /usr/local/lib/php/test/igbinary || true) \ && (rm -rf /usr/local/lib/php/test/igbinary || true) \
&& (rm -rf /usr/local/lib/php/doc/igbinary || true) \ && (rm -rf /usr/local/lib/php/doc/igbinary || true) \
\ \
# ---- Installing PHP Extension: imagick ----
&& pecl install imagick-3.3.0 \
&& docker-php-ext-enable imagick \
&& (rm -rf /usr/local/lib/php/test/imagick || true) \
&& (rm -rf /usr/local/lib/php/doc/imagick || true) \
\
# ---- Installing PHP Extension: imap ---- # ---- Installing PHP Extension: imap ----
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \ && /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
@@ -207,6 +221,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& pecl install memcache \ && pecl install memcache \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
@@ -225,17 +245,34 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongo || true) \ && (rm -rf /usr/local/lib/php/test/mongo || true) \
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \ && (rm -rf /usr/local/lib/php/doc/mongo || true) \
\ \
# ---- Installing PHP Extension: msgpack ---- # ---- Installing PHP Extension: mongodb ----
&& pecl install msgpack-0.5.7 \ && pecl install mongodb-0.6.3 \
&& docker-php-ext-enable msgpack \ && docker-php-ext-enable mongodb \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: mysqli ---- # ---- Installing PHP Extension: mysqli ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& pecl install zendopcache \ && pecl install zendopcache \
&& docker-php-ext-enable opcache \ && docker-php-ext-enable opcache \
@@ -274,6 +311,15 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pgsql || true) \
\ \
# ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout phalcon-v2.0.9 \
&& cd build && ./install >/dev/null \
&& docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
\
# ---- Installing PHP Extension: pspell ---- # ---- Installing PHP Extension: pspell ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& (rm -rf /usr/local/lib/php/test/pspell || true) \ && (rm -rf /usr/local/lib/php/test/pspell || true) \
@@ -313,6 +359,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ && (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ && (rm -rf /usr/local/lib/php/doc/sockets || true) \
\ \
# ---- Installing PHP Extension: swoole ----
&& pecl install swoole-1.9.23 \
&& docker-php-ext-enable swoole \
&& (rm -rf /usr/local/lib/php/test/swoole || true) \
&& (rm -rf /usr/local/lib/php/doc/swoole || true) \
\
# ---- Installing PHP Extension: sysvmsg ---- # ---- Installing PHP Extension: sysvmsg ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
&& (rm -rf /usr/local/lib/php/test/sysvmsg || true) \ && (rm -rf /usr/local/lib/php/test/sysvmsg || true) \
@@ -443,6 +495,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^iconv$' \ && php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \ && php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \ && php -m | grep -oiE '^interbase$' \
@@ -459,20 +513,24 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongo$' \ && php -m | grep -oiE '^mongo$' \
&& php-fpm -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^msgpack$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysql$' \
&& php-fpm -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -495,16 +553,21 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \ && php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^posix$' \
&& php-fpm -m | grep -oiE '^posix$' \ && php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -519,6 +582,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
&& php-fpm -m | grep -oiE '^sysvmsg$' \ && php-fpm -m | grep -oiE '^sysvmsg$' \
&& php -m | grep -oiE '^sysvsem$' \ && php -m | grep -oiE '^sysvsem$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -55,6 +58,7 @@ ENV BUILD_DEPS \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -106,7 +110,7 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \ && (rm -rf /usr/local/lib/php/doc/ioncube || true) \
\ \
# ---- Installing PHP Extension: amqp ---- # ---- Installing PHP Extension: amqp ----
&& echo "/usr" | pecl install amqp \ && pecl install amqp-1.9.3 \
&& docker-php-ext-enable amqp \ && docker-php-ext-enable amqp \
&& (rm -rf /usr/local/lib/php/test/amqp || true) \ && (rm -rf /usr/local/lib/php/test/amqp || true) \
&& (rm -rf /usr/local/lib/php/doc/amqp || true) \ && (rm -rf /usr/local/lib/php/doc/amqp || true) \
@@ -217,6 +221,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& pecl install memcache \ && pecl install memcache \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
@@ -241,12 +251,6 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysql ---- # ---- Installing PHP Extension: mysql ----
&& /usr/local/bin/docker-php-ext-install mysql \ && /usr/local/bin/docker-php-ext-install mysql \
&& (rm -rf /usr/local/lib/php/test/mysql || true) \ && (rm -rf /usr/local/lib/php/test/mysql || true) \
@@ -257,6 +261,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& pecl install zendopcache \ && pecl install zendopcache \
&& docker-php-ext-enable opcache \ && docker-php-ext-enable opcache \
@@ -497,6 +518,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
@@ -505,14 +528,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysql$' \
&& php-fpm -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -544,11 +567,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -563,6 +587,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -56,6 +59,7 @@ ENV BUILD_DEPS \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -107,7 +111,7 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \ && (rm -rf /usr/local/lib/php/doc/ioncube || true) \
\ \
# ---- Installing PHP Extension: amqp ---- # ---- Installing PHP Extension: amqp ----
&& echo "/usr" | pecl install amqp \ && pecl install amqp-1.9.3 \
&& docker-php-ext-enable amqp \ && docker-php-ext-enable amqp \
&& (rm -rf /usr/local/lib/php/test/amqp || true) \ && (rm -rf /usr/local/lib/php/test/amqp || true) \
&& (rm -rf /usr/local/lib/php/doc/amqp || true) \ && (rm -rf /usr/local/lib/php/doc/amqp || true) \
@@ -207,6 +211,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& pecl install memcache \ && pecl install memcache \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
@@ -231,12 +241,6 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysql ---- # ---- Installing PHP Extension: mysql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
&& (rm -rf /usr/local/lib/php/test/mysql || true) \ && (rm -rf /usr/local/lib/php/test/mysql || true) \
@@ -247,6 +251,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -287,7 +308,7 @@ RUN set -x \
# ---- Installing PHP Extension: phalcon ---- # ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \ && cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \ && git checkout v3.4.2 \
&& cd build && ./install \ && cd build && ./install \
&& docker-php-ext-enable phalcon \ && docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \ && (rm -rf /usr/local/lib/php/test/phalcon || true) \
@@ -491,6 +512,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
@@ -499,14 +522,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysql$' \
&& php-fpm -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -538,11 +561,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -557,6 +581,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -58,6 +61,7 @@ ENV BUILD_DEPS \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -127,6 +131,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ && (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ && (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\ \
# ---- Installing PHP Extension: blackfire ----
&& version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/blackfire || true) \
&& (rm -rf /usr/local/lib/php/doc/blackfire || true) \
\
# ---- Installing PHP Extension: bz2 ---- # ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ && (rm -rf /usr/local/lib/php/test/bz2 || true) \
@@ -211,6 +226,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& pecl install memcache \ && pecl install memcache \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
@@ -235,12 +256,6 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysql ---- # ---- Installing PHP Extension: mysql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
&& (rm -rf /usr/local/lib/php/test/mysql || true) \ && (rm -rf /usr/local/lib/php/test/mysql || true) \
@@ -251,6 +266,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -291,7 +323,7 @@ RUN set -x \
# ---- Installing PHP Extension: phalcon ---- # ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \ && cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \ && git checkout v3.4.2 \
&& cd build && ./install \ && cd build && ./install \
&& docker-php-ext-enable phalcon \ && docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \ && (rm -rf /usr/local/lib/php/test/phalcon || true) \
@@ -495,6 +527,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
@@ -503,14 +537,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysql$' \
&& php-fpm -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -535,16 +569,19 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^posix$' \
&& php-fpm -m | grep -oiE '^posix$' \ && php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -559,6 +596,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -53,11 +56,13 @@ ENV BUILD_DEPS \
libxslt-dev \ libxslt-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -82,6 +87,7 @@ ENV RUN_DEPS \
libxslt1.1 \ libxslt1.1 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \
ca-certificates ca-certificates
@@ -126,6 +132,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ && (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ && (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\ \
# ---- Installing PHP Extension: blackfire ----
&& version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/blackfire || true) \
&& (rm -rf /usr/local/lib/php/doc/blackfire || true) \
\
# ---- Installing PHP Extension: bz2 ---- # ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ && (rm -rf /usr/local/lib/php/test/bz2 || true) \
@@ -210,6 +227,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ && git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \ && cd /tmp/memcache \
@@ -233,17 +256,28 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysqli ---- # ---- Installing PHP Extension: mysqli ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -254,11 +288,6 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \ && (rm -rf /usr/local/lib/php/test/pcntl || true) \
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \ && (rm -rf /usr/local/lib/php/doc/pcntl || true) \
\ \
# ---- Installing PHP Extension: pdo ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
&& (rm -rf /usr/local/lib/php/test/pdo || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo || true) \
\
# ---- Installing PHP Extension: pdo_dblib ---- # ---- Installing PHP Extension: pdo_dblib ----
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
@@ -276,11 +305,34 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ \
# ---- Installing PHP Extension: pdo_oci ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ---- # ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\ \
# ---- Installing PHP Extension: pdo_sqlsrv ----
&& pecl install pdo_sqlsrv \
&& docker-php-ext-enable pdo_sqlsrv \
&& (rm -rf /usr/local/lib/php/test/pdo_sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_sqlsrv || true) \
\
# ---- Installing PHP Extension: pgsql ---- # ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pgsql || true) \
@@ -289,7 +341,7 @@ RUN set -x \
# ---- Installing PHP Extension: phalcon ---- # ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \ && cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \ && git checkout v3.4.2 \
&& cd build && ./install \ && cd build && ./install \
&& docker-php-ext-enable phalcon \ && docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \ && (rm -rf /usr/local/lib/php/test/phalcon || true) \
@@ -339,6 +391,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ && (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ && (rm -rf /usr/local/lib/php/doc/sockets || true) \
\ \
# ---- Installing PHP Extension: sqlsrv ----
&& pecl install sqlsrv \
&& docker-php-ext-enable sqlsrv \
&& (rm -rf /usr/local/lib/php/test/sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/sqlsrv || true) \
\
# ---- Installing PHP Extension: swoole ---- # ---- Installing PHP Extension: swoole ----
&& pecl install swoole \ && pecl install swoole \
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
@@ -498,18 +556,20 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -526,24 +586,31 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \
&& php -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_mysql$' \
&& php-fpm -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \
&& php -m | grep -oiE '^pdo_oci$' \
&& php-fpm -m | grep -oiE '^pdo_oci$' \
&& php -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_pgsql$' \
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \
&& php -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlite$' \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pdo_sqlsrv$' \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^posix$' \
&& php-fpm -m | grep -oiE '^posix$' \ && php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -558,6 +625,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -53,11 +56,13 @@ ENV BUILD_DEPS \
libxslt-dev \ libxslt-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -82,6 +87,7 @@ ENV RUN_DEPS \
libxslt1.1 \ libxslt1.1 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \
ca-certificates ca-certificates
@@ -126,6 +132,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ && (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ && (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\ \
# ---- Installing PHP Extension: blackfire ----
&& version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/blackfire || true) \
&& (rm -rf /usr/local/lib/php/doc/blackfire || true) \
\
# ---- Installing PHP Extension: bz2 ---- # ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ && (rm -rf /usr/local/lib/php/test/bz2 || true) \
@@ -210,6 +227,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ && git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \ && cd /tmp/memcache \
@@ -233,17 +256,28 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysqli ---- # ---- Installing PHP Extension: mysqli ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -271,11 +305,34 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ \
# ---- Installing PHP Extension: pdo_oci ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ---- # ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\ \
# ---- Installing PHP Extension: pdo_sqlsrv ----
&& pecl install pdo_sqlsrv \
&& docker-php-ext-enable pdo_sqlsrv \
&& (rm -rf /usr/local/lib/php/test/pdo_sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_sqlsrv || true) \
\
# ---- Installing PHP Extension: pgsql ---- # ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pgsql || true) \
@@ -284,7 +341,7 @@ RUN set -x \
# ---- Installing PHP Extension: phalcon ---- # ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \ && cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \ && git checkout v3.4.2 \
&& cd build && ./install \ && cd build && ./install \
&& docker-php-ext-enable phalcon \ && docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \ && (rm -rf /usr/local/lib/php/test/phalcon || true) \
@@ -334,6 +391,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ && (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ && (rm -rf /usr/local/lib/php/doc/sockets || true) \
\ \
# ---- Installing PHP Extension: sqlsrv ----
&& pecl install sqlsrv \
&& docker-php-ext-enable sqlsrv \
&& (rm -rf /usr/local/lib/php/test/sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/sqlsrv || true) \
\
# ---- Installing PHP Extension: swoole ---- # ---- Installing PHP Extension: swoole ----
&& pecl install swoole \ && pecl install swoole \
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
@@ -493,18 +556,20 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -521,10 +586,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \
&& php -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_mysql$' \
&& php-fpm -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \
&& php -m | grep -oiE '^pdo_oci$' \
&& php-fpm -m | grep -oiE '^pdo_oci$' \
&& php -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_pgsql$' \
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \
&& php -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlite$' \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pdo_sqlsrv$' \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
@@ -536,11 +605,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -555,6 +625,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,12 +18,15 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -53,11 +56,13 @@ ENV BUILD_DEPS \
libxslt-dev \ libxslt-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -82,6 +87,7 @@ ENV RUN_DEPS \
libxslt1.1 \ libxslt1.1 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \
ca-certificates ca-certificates
@@ -126,6 +132,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ && (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ && (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\ \
# ---- Installing PHP Extension: blackfire ----
&& version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/blackfire || true) \
&& (rm -rf /usr/local/lib/php/doc/blackfire || true) \
\
# ---- Installing PHP Extension: bz2 ---- # ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ && (rm -rf /usr/local/lib/php/test/bz2 || true) \
@@ -211,6 +228,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ---- # ---- Installing PHP Extension: memcache ----
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ && git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \ && cd /tmp/memcache \
@@ -234,17 +257,28 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \ && (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\ \
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: mysqli ---- # ---- Installing PHP Extension: mysqli ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -272,11 +306,34 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ \
# ---- Installing PHP Extension: pdo_oci ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ---- # ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\ \
# ---- Installing PHP Extension: pdo_sqlsrv ----
&& pecl install pdo_sqlsrv \
&& docker-php-ext-enable pdo_sqlsrv \
&& (rm -rf /usr/local/lib/php/test/pdo_sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_sqlsrv || true) \
\
# ---- Installing PHP Extension: pgsql ---- # ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pgsql || true) \
@@ -285,7 +342,7 @@ RUN set -x \
# ---- Installing PHP Extension: phalcon ---- # ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \ && cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \ && git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
&& cd build && ./install \ && cd build && ./install \
&& docker-php-ext-enable phalcon \ && docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \ && (rm -rf /usr/local/lib/php/test/phalcon || true) \
@@ -335,6 +392,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ && (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ && (rm -rf /usr/local/lib/php/doc/sockets || true) \
\ \
# ---- Installing PHP Extension: sqlsrv ----
&& pecl install sqlsrv \
&& docker-php-ext-enable sqlsrv \
&& (rm -rf /usr/local/lib/php/test/sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/sqlsrv || true) \
\
# ---- Installing PHP Extension: swoole ---- # ---- Installing PHP Extension: swoole ----
&& pecl install swoole \ && pecl install swoole \
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
@@ -494,18 +557,20 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -522,10 +587,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \
&& php -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_mysql$' \
&& php-fpm -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \
&& php -m | grep -oiE '^pdo_oci$' \
&& php-fpm -m | grep -oiE '^pdo_oci$' \
&& php -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_pgsql$' \
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \
&& php -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlite$' \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pdo_sqlsrv$' \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
@@ -537,11 +606,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -558,6 +628,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -18,13 +18,16 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
cmake \ cmake \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -35,7 +38,6 @@ ENV BUILD_DEPS \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpng-dev \ libpng-dev \
@@ -54,11 +56,13 @@ ENV BUILD_DEPS \
libxslt-dev \ libxslt-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -68,7 +72,6 @@ ENV RUN_DEPS \
libicu57 \ libicu57 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-3 \ libmagickwand-6.q16-3 \
libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
@@ -83,6 +86,7 @@ ENV RUN_DEPS \
libxslt1.1 \ libxslt1.1 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \
ca-certificates ca-certificates
@@ -107,6 +111,17 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ && (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ && (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\ \
# ---- Installing PHP Extension: blackfire ----
&& version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/blackfire || true) \
&& (rm -rf /usr/local/lib/php/doc/blackfire || true) \
\
# ---- Installing PHP Extension: bz2 ---- # ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ && (rm -rf /usr/local/lib/php/test/bz2 || true) \
@@ -186,17 +201,14 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/ldap || true) \ && (rm -rf /usr/local/lib/php/test/ldap || true) \
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \ && (rm -rf /usr/local/lib/php/doc/ldap || true) \
\ \
# ---- Installing PHP Extension: mcrypt ---- # ---- Installing PHP Extension: msgpack ----
&& pecl install mcrypt-1.0.1 \ && pecl install msgpack \
&& docker-php-ext-enable mcrypt \ && docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \ && (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \ && (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\ \
# ---- Installing PHP Extension: memcached ---- # ---- Installing PHP Extension: memcached ----
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \ && pecl install memcached \
&& cd /tmp/memcached \
&& git checkout master \
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
&& (rm -rf /usr/local/lib/php/test/memcached || true) \ && (rm -rf /usr/local/lib/php/test/memcached || true) \
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \ && (rm -rf /usr/local/lib/php/doc/memcached || true) \
@@ -212,6 +224,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -239,16 +268,48 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ \
# ---- Installing PHP Extension: pdo_oci ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ---- # ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\ \
# ---- Installing PHP Extension: pdo_sqlsrv ----
&& pecl install pdo_sqlsrv-5.5.0preview \
&& docker-php-ext-enable pdo_sqlsrv \
&& (rm -rf /usr/local/lib/php/test/pdo_sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_sqlsrv || true) \
\
# ---- Installing PHP Extension: pgsql ---- # ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pgsql || true) \ && (rm -rf /usr/local/lib/php/doc/pgsql || true) \
\ \
# ---- Installing PHP Extension: phalcon ----
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
\
# ---- Installing PHP Extension: pspell ---- # ---- Installing PHP Extension: pspell ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& (rm -rf /usr/local/lib/php/test/pspell || true) \ && (rm -rf /usr/local/lib/php/test/pspell || true) \
@@ -293,42 +354,24 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ && (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ && (rm -rf /usr/local/lib/php/doc/sockets || true) \
\ \
# ---- Installing PHP Extension: sqlsrv ----
&& pecl install sqlsrv-5.5.0preview \
&& docker-php-ext-enable sqlsrv \
&& (rm -rf /usr/local/lib/php/test/sqlsrv || true) \
&& (rm -rf /usr/local/lib/php/doc/sqlsrv || true) \
\
# ---- Installing PHP Extension: swoole ---- # ---- Installing PHP Extension: swoole ----
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \ && git clone https://github.com/swoole/swoole-src /tmp/swoole \
&& cd /tmp/swoole \ && cd /tmp/swoole \
&& git checkout master \ && git checkout master \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
#`&& cd thirdparty/hiredis` \
#`&& make -j$(getconf _NPROCESSORS_ONLN)` \
#`&& make install` \
#`&& cd ../../` \
&& cd thirdparty/nghttp2 \
&& cmake . \
&& make install \
&& ldconfig \
&& cd ../.. \
&& phpize \ && phpize \
&& ./configure \ && ./configure \
--enable-async-redis \
--enable-openssl \ --enable-openssl \
--enable-thread \ --enable-sockets \
--enable-swoole \ --enable-http2 \
--enable-swoole-static \
--with-swoole \
--with-openssl-dir=/usr \
--enable-mysqlnd \ --enable-mysqlnd \
--enable-coroutine \ --enable-coroutine-postgresql \
--enable-picohttpparser \
#`--enable-timewheel` \
#`--enable-hugepage` \
#`--enable-asan` \
#`--with-phpx-dir=` \
#`--with-jemalloc-dir=/usr/include/jemalloc` \
#`--enable-coroutine-postgresql` \
#`--enable-http2` \
#`--enable-sockets` \
#`--with-libpq-dir=/usr/include/postgresql/libpq/` \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
\ \
@@ -373,6 +416,12 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/wddx || true) \ && (rm -rf /usr/local/lib/php/test/wddx || true) \
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \ && (rm -rf /usr/local/lib/php/doc/wddx || true) \
\ \
# ---- Installing PHP Extension: xdebug ----
&& pecl install xdebug-2.7.0beta1 \
&& docker-php-ext-enable xdebug \
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
\
# ---- Installing PHP Extension: xmlrpc ---- # ---- Installing PHP Extension: xmlrpc ----
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ && /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
@@ -479,8 +528,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^libxml$' \ && php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \ && php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
@@ -489,6 +538,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -505,12 +556,18 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \
&& php -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_mysql$' \
&& php-fpm -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \
&& php -m | grep -oiE '^pdo_oci$' \
&& php-fpm -m | grep -oiE '^pdo_oci$' \
&& php -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_pgsql$' \
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \
&& php -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlite$' \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pdo_sqlsrv$' \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \ && php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^posix$' \
@@ -518,11 +575,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -539,6 +597,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -555,6 +617,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \
&& php -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^wddx$' \
&& php-fpm -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xdebug$' \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \ && php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \ && php -m | grep -oiE '^xmlreader$' \

View File

@@ -18,13 +18,16 @@ LABEL \
### Envs ### Envs
### ###
ENV BUILD_DEPS \ ENV BUILD_DEPS \
alien \
cmake \ cmake \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
@@ -57,6 +60,7 @@ ENV BUILD_DEPS \
git git
ENV RUN_DEPS \ ENV RUN_DEPS \
libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -190,6 +194,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ && (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ && (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\ \
# ---- Installing PHP Extension: oci8 ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ---- # ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && (rm -rf /usr/local/lib/php/test/opcache || true) \
@@ -217,6 +238,23 @@ RUN set -x \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \ && (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ \
# ---- Installing PHP Extension: pdo_oci ----
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3 \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ---- # ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \ && (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
@@ -285,37 +323,13 @@ RUN set -x \
&& cd /tmp/swoole \ && cd /tmp/swoole \
&& git checkout master \ && git checkout master \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
#`&& cd thirdparty/hiredis` \
#`&& make -j$(getconf _NPROCESSORS_ONLN)` \
#`&& make install` \
#`&& cd ../../` \
&& cd thirdparty/nghttp2 \
&& cmake . \
&& make install \
&& ldconfig \
&& cd ../.. \
&& phpize \ && phpize \
&& ./configure \ && ./configure \
#`--enable-async-redis` \
--enable-openssl \ --enable-openssl \
--enable-thread \ --enable-sockets \
--enable-swoole \ --enable-http2 \
--enable-swoole-static \
--with-swoole \
--with-openssl-dir=/usr \
--enable-mysqlnd \ --enable-mysqlnd \
--enable-coroutine \ --enable-coroutine-postgresql \
--enable-picohttpparser \
#`--enable-timewheel` \
#`--enable-hugepage` \
#`--enable-asan` \
#`--with-phpx-dir=` \
#`--with-jemalloc-dir=/usr/include/jemalloc` \
#`--enable-coroutine-postgresql` \
#`--enable-http2` \
#`--enable-sockets` \
#`--with-libpq-dir=/usr/include/postgresql/libpq/` \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
\ \
@@ -470,6 +484,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^openssl$' \
@@ -486,6 +502,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \
&& php -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_mysql$' \
&& php-fpm -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \
&& php -m | grep -oiE '^pdo_oci$' \
&& php-fpm -m | grep -oiE '^pdo_oci$' \
&& php -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_pgsql$' \
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \
&& php -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlite$' \
@@ -499,11 +517,12 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \
&& php-fpm -m | grep -oiE '^reflection$' \
&& php -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \ && php -m | grep -oiE '^session$' \
@@ -520,6 +539,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -72,9 +73,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
############################################################
# Functions
############################################################
###
### Execute custom uesr-supplied scripts
###
execute_custom_scripts() {
local script_dir="${1}"
local debug="${2}"
if [ ! -d "${script_dir}" ]; then
run "mkdir -p ${script_dir}" "${debug}"
fi
script_files="$( find "${script_dir}" -type f -iname '*.sh' )"
# loop over them line by line
IFS='
'
for script_f in ${script_files}; do
script_name="$( basename "${script_f}" )"
log "info" "Executing custom startup script: ${script_name}" "${debug}"
if ! bash "${script_f}"; then
log "err" "Failed to execute script" "${debug}"
exit 1
fi
done
}
############################################################
# Sanity Checks
############################################################
if ! command -v find >/dev/null 2>&1; then
echo "find not found, but required."
exit 1
fi
if ! command -v basename >/dev/null 2>&1; then
echo "basename not found, but required."
exit 1
fi

View File

@@ -16,38 +16,38 @@ set -p pipefail
# MY_GID # MY_GID
# Path to scripts to source # Path to scripts to source
CONFIG_DIR="/docker-entrypoint.d" DVL_CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory # php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d" DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
# php-fpm conf.d directory # php-fpm conf.d directory
PHP_FPM_DIR="/usr/local/etc/php-fpm.d" DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
# This is the log file for any mail related functions # This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log" DVL_PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
PHP_FPM_CONF_LOGFILE="${PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf" DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
PHP_INI_CONF_LOGFILE="${PHP_INI_DIR}/zzz-entrypoint-logfiles.ini" DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
# PHP-FPM log dir # PHP-FPM log dir
FPM_LOG_DIR="/var/log/php" DVL_FPM_LOG_DIR="/var/log/php"
# Custom ini dir (to be copied to actual ini dir) # Custom ini dir (to be copied to actual ini dir)
PHP_CUST_INI_DIR="/etc/php-custom.d" DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
# Custom PHP-FPM dir (to be copied to actual FPM conf dir) # Custom PHP-FPM dir (to be copied to actual FPM conf dir)
PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d" DVL_PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
# Supervisord config directory # Supervisord config directory
SUPERVISOR_CONFD="/etc/supervisor/conf.d" DVL_SUPERVISOR_CONFD="/etc/supervisor/conf.d"
### ###
### Source libs ### Source libs
### ###
init="$( find "${CONFIG_DIR}" -name '*.sh' -type f | sort -u )" init="$( find "${DVL_CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
for f in ${init}; do for f in ${init}; do
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "${f}" . "${f}"
@@ -76,7 +76,7 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
### ###
### Set timezone ### Set timezone
### ###
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" set_timezone "TIMEZONE" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
@@ -92,9 +92,9 @@ fi
### ###
set_docker_logs \ set_docker_logs \
"DOCKER_LOGS" \ "DOCKER_LOGS" \
"${FPM_LOG_DIR}" \ "${DVL_FPM_LOG_DIR}" \
"${PHP_FPM_CONF_LOGFILE}" \ "${DVL_PHP_FPM_CONF_LOGFILE}" \
"${PHP_INI_CONF_LOGFILE}" \ "${DVL_PHP_INI_CONF_LOGFILE}" \
"${MY_USER}" \ "${MY_USER}" \
"${MY_GROUP}" \ "${MY_GROUP}" \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
@@ -105,10 +105,10 @@ set_docker_logs \
### ###
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
# PHP mail function should log to stderr # PHP mail function should log to stderr
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}" set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
else else
# PHP mail function should log to file # PHP mail function should log to file
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}" set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "${DVL_PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
fi fi
@@ -130,7 +130,7 @@ for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
supervisor_add_service \ supervisor_add_service \
"socat-${lport}-${rhost}-${rport}" \ "socat-${lport}-${rhost}-${rport}" \
"/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \ "/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \
"${SUPERVISOR_CONFD}" \ "${DVL_SUPERVISOR_CONFD}" \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
done done
@@ -139,30 +139,30 @@ done
### Supervisor: rsyslogd & postfix ### Supervisor: rsyslogd & postfix
### ###
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1" supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
fi fi
### ###
### Supervisor: php-fpm ### Supervisor: php-fpm
### ###
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
### ###
### Copy custom *.ini files ### Copy custom *.ini files
### ###
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" copy_ini_files "${DVL_PHP_CUST_INI_DIR}" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
### Copy custom PHP-FPM *.conf files ### Copy custom PHP-FPM *.conf files
### ###
if [ "${PHP_VERSION}" = "5.2" ]; then if [ "${PHP_VERSION}" = "5.2" ]; then
copy_fpm_5_2_conf_file "${PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}" copy_fpm_5_2_conf_file "${DVL_PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
else else
copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}" copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
fi fi
@@ -178,6 +178,14 @@ enable_modules "ENABLE_MODULES" "${DEBUG_LEVEL}"
disable_modules "DISABLE_MODULES" "${DEBUG_LEVEL}" disable_modules "DISABLE_MODULES" "${DEBUG_LEVEL}"
###
### Run custom user supplied scripts
###
execute_custom_scripts "/startup.1.d" "${DEBUG_LEVEL}"
execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
###
### ###
### Startup ### Startup
### ###

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -135,6 +138,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -150,8 +154,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# linkcheck # linkcheck
@@ -197,13 +201,15 @@ RUN set -x \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
\ \
# phpcs # phpcs
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# webpack # webpack
@@ -305,6 +311,7 @@ RUN set -x \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[.0-9]+' \
@@ -327,10 +334,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -137,6 +140,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -169,8 +173,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# linkcheck # linkcheck
@@ -227,17 +231,23 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# webpack # webpack
@@ -346,7 +356,9 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
@@ -370,10 +382,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -137,6 +140,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -185,8 +189,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -253,17 +257,23 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -378,7 +388,9 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -403,10 +415,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -192,8 +196,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -260,13 +264,17 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -275,6 +283,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -391,8 +401,10 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -417,10 +429,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -273,13 +277,17 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -288,6 +296,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -405,8 +415,10 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -431,10 +443,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -273,13 +277,17 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -288,6 +296,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -405,8 +415,10 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -431,10 +443,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -273,13 +277,17 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -288,6 +296,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -405,8 +415,10 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -431,10 +443,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -273,13 +277,17 @@ RUN set -x \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -288,6 +296,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -405,8 +415,10 @@ RUN set -x \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -431,10 +443,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -262,13 +266,17 @@ RUN set -x \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# php-cs-fixer
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
\
# phpunit # phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
@@ -277,6 +285,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -393,8 +403,10 @@ RUN set -x \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -419,10 +431,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,18 +27,21 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \ && curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \ && echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -48,10 +51,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -141,6 +144,7 @@ RUN set -x \
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
\ \
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -188,7 +192,7 @@ RUN set -x \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -205,8 +209,8 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
\ \
# grunt # grunt
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
\ \
# laravel # laravel
@@ -262,11 +266,11 @@ RUN set -x \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
\ \
# phpcs # phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
# phpcbf # phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
# phpunit # phpunit
@@ -277,6 +281,8 @@ RUN set -x \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \ && COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
\ \
# pm2
&& until npm install pm2 -g; do sleep 1; done \
# sass # sass
&& gem install sass \ && gem install sass \
# symfony # symfony
@@ -395,6 +401,7 @@ RUN set -x \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
@@ -419,10 +426,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,42 +27,33 @@ PS1="${_clr_usr}${PS1_USR}${_clr_off}@${_clr_ver}php-${PS1_PHP}${_clr_off} in ${
# Show Intro # Show Intro
echo echo
echo "--------------------------------------------------------------------------------" echo "------------------------------------------------------------------------------------------"
echo " _ _ _ _ " echo " _ _ _ _ "
echo " | | (_) | | " echo " | | (_) | | "
echo " __| | _____ ___| | |__ _____ __" echo " __| | _____ ___| | |__ _____ __"
echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ \\/ /" echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ \\/ /"
echo " | (_| | __/\\ V /| | | |_) | (_) > < " echo " | (_| | __/\\ V /| | | |_) | (_) > < "
echo " \\__,_|\\___| \\_/ |_|_|_.__/ \\___/_/\\_\\" echo " \\__,_|\\___| \\_/ |_|_|_.__/ \\___/_/\\_\\"
echo " " echo " "
echo " http://devilbox.org" echo " http://devilbox.org"
echo " https://devilbox.readthedocs.io"
echo echo
echo echo
echo " | Available Tools | Project website |" echo
echo " |------------------|------------------------------|" echo " Available Tools"
echo " | awesome-ci | gh: cytopia/awesome-ci |" echo " https://devilbox.readthedocs.io/en/latest/readings/available-tools.html"
echo " | composer | https://getcomposer.org |" echo
echo " | drupal-console | https://drupalconsole.com |" echo " How to work inside this PHP container"
echo " | drush | http://www.drush.org |" echo " https://devilbox.readthedocs.io/en/latest/intermediate/work-inside-the-php-container.html"
echo " | eslint | https://eslint.org |"
echo " | git | https://git-scm.com |"
echo " | laravel | gh: laravel/installer |"
echo " | linuxbrew | http://linuxbrew.sh |"
echo " | mysqldump-secure | https://mysqldump-secure.org |"
echo " | node | https://nodejs.org |"
echo " | npm | https://www.npmjs.com |"
echo " | phalcon-devtools | gh: phalcon/phalcon-devtools |"
echo " | symfony installer| gh: symfony/symfony-installer|"
echo " | webpack | gh: webpack/webpack |"
echo " | wpcli | https://wp-cli.org |"
echo echo
echo echo
echo " | Available Dirs | Description |"
echo " |------------------|------------------------------|"
echo " | /shared/httpd | Project base directory |"
echo " | /shared/backups | Backup directory |"
echo " | /var/mail | Email directory |"
echo " | /var/log | Log file directory |"
echo echo
echo "--------------------------------------------------------------------------------" echo " | Available Dirs | Description |"
echo " |------------------|------------------------------|"
echo " | /shared/httpd | Project base directory |"
echo " | /shared/backups | Backup directory |"
echo " | /var/mail | Email directory |"
echo " | /var/log | Log file directory |"
echo
echo "------------------------------------------------------------------------------------------"
echo echo

View File

@@ -16,38 +16,38 @@ set -p pipefail
# MY_GID # MY_GID
# Path to scripts to source # Path to scripts to source
CONFIG_DIR="/docker-entrypoint.d" DVL_CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory # php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d" DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
# php-fpm conf.d directory # php-fpm conf.d directory
PHP_FPM_DIR="/usr/local/etc/php-fpm.d" DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
# This is the log file for any mail related functions # This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log" DVL_PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
PHP_FPM_CONF_LOGFILE="${PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf" DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
PHP_INI_CONF_LOGFILE="${PHP_INI_DIR}/zzz-entrypoint-logfiles.ini" DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
# PHP-FPM log dir # PHP-FPM log dir
FPM_LOG_DIR="/var/log/php" DVL_FPM_LOG_DIR="/var/log/php"
# Custom ini dir (to be copied to actual ini dir) # Custom ini dir (to be copied to actual ini dir)
PHP_CUST_INI_DIR="/etc/php-custom.d" DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
# Custom PHP-FPM dir (to be copied to actual FPM conf dir) # Custom PHP-FPM dir (to be copied to actual FPM conf dir)
PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d" DVL_PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
# Supervisord config directory # Supervisord config directory
SUPERVISOR_CONFD="/etc/supervisor/conf.d" DVL_SUPERVISOR_CONFD="/etc/supervisor/conf.d"
### ###
### Source libs ### Source libs
### ###
init="$( find "${CONFIG_DIR}" -name '*.sh' -type f | sort -u )" init="$( find "${DVL_CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
for f in ${init}; do for f in ${init}; do
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "${f}" . "${f}"
@@ -76,7 +76,7 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
### ###
### Set timezone ### Set timezone
### ###
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" set_timezone "TIMEZONE" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
@@ -92,9 +92,9 @@ fi
### ###
set_docker_logs \ set_docker_logs \
"DOCKER_LOGS" \ "DOCKER_LOGS" \
"${FPM_LOG_DIR}" \ "${DVL_FPM_LOG_DIR}" \
"${PHP_FPM_CONF_LOGFILE}" \ "${DVL_PHP_FPM_CONF_LOGFILE}" \
"${PHP_INI_CONF_LOGFILE}" \ "${DVL_PHP_INI_CONF_LOGFILE}" \
"${MY_USER}" \ "${MY_USER}" \
"${MY_GROUP}" \ "${MY_GROUP}" \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
@@ -105,10 +105,10 @@ set_docker_logs \
### ###
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
# PHP mail function should log to stderr # PHP mail function should log to stderr
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}" set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
else else
# PHP mail function should log to file # PHP mail function should log to file
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}" set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "${DVL_PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
fi fi
@@ -130,7 +130,7 @@ for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
supervisor_add_service \ supervisor_add_service \
"socat-${lport}-${rhost}-${rport}" \ "socat-${lport}-${rhost}-${rport}" \
"/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \ "/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \
"${SUPERVISOR_CONFD}" \ "${DVL_SUPERVISOR_CONFD}" \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
done done
@@ -139,30 +139,30 @@ done
### Supervisor: rsyslogd & postfix ### Supervisor: rsyslogd & postfix
### ###
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1" supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
fi fi
### ###
### Supervisor: php-fpm ### Supervisor: php-fpm
### ###
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
### ###
### Copy custom *.ini files ### Copy custom *.ini files
### ###
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" copy_ini_files "${DVL_PHP_CUST_INI_DIR}" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
### Copy custom PHP-FPM *.conf files ### Copy custom PHP-FPM *.conf files
### ###
if [ "${PHP_VERSION}" = "5.2" ]; then if [ "${PHP_VERSION}" = "5.2" ]; then
copy_fpm_5_2_conf_file "${PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}" copy_fpm_5_2_conf_file "${DVL_PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
else else
copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}" copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
fi fi
@@ -206,6 +206,13 @@ run "chmod 0755 /shared/httpd" "${DEBUG_LEVEL}"
update_ca_certificates "/ca" "${DEBUG_LEVEL}" update_ca_certificates "/ca" "${DEBUG_LEVEL}"
###
### Run custom user supplied scripts
###
execute_custom_scripts "/startup.1.d" "${DEBUG_LEVEL}"
execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
### ###
### Startup ### Startup
### ###

View File

@@ -526,52 +526,52 @@ Check out this table to see which Docker image provides what PHP modules.
<tr> <tr>
<th>5.2</th> <th>5.2</th>
<td id="52-base">ctype, curl, date, dom, filter, hash, iconv, json, libxml, mbstring, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, posix, readline, Reflection, session, SimpleXML, soap, SPL, SQLite, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="52-base">ctype, curl, date, dom, filter, hash, iconv, json, libxml, mbstring, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, posix, readline, Reflection, session, SimpleXML, soap, SPL, SQLite, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="52-mods">amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="52-mods">amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.3</th> <th>5.3</th>
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.4</th> <th>5.4</th>
<td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.5</th> <th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.6</th> <th>5.6</th>
<td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.0</th> <th>7.0</th>
<td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.1</th> <th>7.1</th>
<td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.2</th> <th>7.2</th>
<td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.3</th> <th>7.3</th>
<td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="73-mods">apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="73-mods">apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.4</th> <th>7.4</th>
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="74-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="74-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -701,7 +701,7 @@ Have a look at the following table to see all supported environment variables fo
<td><code>ENABLE_MODULES</code></td> <td><code>ENABLE_MODULES</code></td>
<td>string</td> <td>string</td>
<td><code>''</code></td> <td><code>''</code></td>
<td>Comma separated list of PHP modules to enable, which are not enabled by default.<br/><strong>Example:</strong><br/><code>ENABLE_MODULES=ioncube</code></td> <td>Comma separated list of PHP modules to enable, which are not enabled by default.<br/><strong>Example:</strong><br/><code>ENABLE_MODULES=blackfire, ioncube</code></td>
</tr> </tr>
<tr> <tr>
<td><code>DISABLE_MODULES</code></td> <td><code>DISABLE_MODULES</code></td>
@@ -760,18 +760,26 @@ Have a look at the following table to see all offered volumes for each Docker im
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td rowspan="5"><strong>prod</strong><br/><br/><strong>work</strong></td> <td rowspan="7"><strong>prod</strong><br/><br/><strong>work</strong></td>
<td><code>/etc/php-custom.d</code></td> <td><code>/etc/php-custom.d</code></td>
<td>Mount this directory into your host computer and add custom <code>\*.ini</code> files in order to alter php behaviour.</td> <td>Mount this directory into your host computer and add custom <code>\*.ini</code> files in order to alter php behaviour.</td>
</tr> </tr>
<tr> <tr>
<td><code>/etc/php-fpm-custom.d</code></td> <td><code>/etc/php-fpm-custom.d</code></td>
<td>Mount this directory into your host computer and add custom PHP-FOM <code>\*.conf</code> files in order to alter PHP-FPM behaviour.</td> <td>Mount this directory into your host computer and add custom PHP-FPM <code>\*.conf</code> files in order to alter PHP-FPM behaviour.</td>
</tr> </tr>
<tr> <tr>
<td><code>/etc/php-modules.d</code></td> <td><code>/etc/php-modules.d</code></td>
<td>Mount this directory into your host computer and add custo <code>\*.so</code> files in order to add your php modules.<br/><br/><strong>Note:</strong>Your should then also provide a custom <code>\*.ini</code> file in order to actually load your custom provided module.</td> <td>Mount this directory into your host computer and add custo <code>\*.so</code> files in order to add your php modules.<br/><br/><strong>Note:</strong>Your should then also provide a custom <code>\*.ini</code> file in order to actually load your custom provided module.</td>
</tr> </tr>
<tr>
<td><code>/startup.1.d</code></td>
<td>Any executable scripts ending by <code>\*.sh</code> found in this directory will be executed during startup. This is useful to supply additional commands (such as installing custom software) when the container starts up. (will run before <code>/startup.2.d</code>)</td>
</tr>
<tr>
<td><code>/startup.2.d</code></td>
<td>Any executable scripts ending by <code>\*.sh</code> found in this directory will be executed during startup. This is useful to supply additional commands (such as installing custom software) when the container starts up. (will run after <code>/startup.1.d</code>)</td>
</tr>
<tr> <tr>
<td><code>/var/log/php</code></td> <td><code>/var/log/php</code></td>
<td>When setting environment variable <code>DOCKER_LOGS</code> to <code>0</code>, log files will be available under this directory.</td> <td>When setting environment variable <code>DOCKER_LOGS</code> to <code>0</code>, log files will be available under this directory.</td>
@@ -959,6 +967,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
<td><a href="https://github.com/squizlabs/PHP_CodeSniffer">phpcbf</a></td> <td><a href="https://github.com/squizlabs/PHP_CodeSniffer">phpcbf</a></td>
<td>PHP Code Beautifier and Fixer.</td> <td>PHP Code Beautifier and Fixer.</td>
</tr> </tr>
<tr>
<td><a href="https://github.com/FriendsOfPHP/PHP-CS-Fixer">php-cs-fixer</a></td>
<td>A tool to automatically fix PHP Coding Standards issues.</td>
</tr>
<tr> <tr>
<td><a href="https://photoncms.com/resources/installing">photon</a></td> <td><a href="https://photoncms.com/resources/installing">photon</a></td>
<td>Photon CMS cli.</td> <td>Photon CMS cli.</td>

View File

@@ -3,8 +3,6 @@
FROM devilbox/php-fpm-5.2 FROM devilbox/php-fpm-5.2
{% elif php_version == 5.3 %} {% elif php_version == 5.3 %}
FROM devilbox/php-fpm-5.3 FROM devilbox/php-fpm-5.3
{% elif php_version == 7.3 %}
FROM php:{{ php_version }}-rc-fpm
{% elif php_version == 7.4 %} {% elif php_version == 7.4 %}
FROM devilbox/php-fpm-7.4 FROM devilbox/php-fpm-7.4
{% else %} {% else %}

View File

@@ -225,7 +225,10 @@ RUN set -x \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \
{# #} {# #}
{%- elif ext not in ['ioncube'] %} {%- elif ext == 'readline' %}
&& php -m | grep -oiE '^readline$' \
{# #}
{%- elif ext not in ['blackfire', 'ioncube'] %}
&& php -m | grep -oiE '^{{ ext }}$' \ && php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \ && php-fpm -m | grep -oiE '^{{ ext }}$' \
{# #} {# #}

View File

@@ -24,6 +24,7 @@ RUN set -x \
locales-all \ locales-all \
postfix \ postfix \
postfix-pcre \ postfix-pcre \
cron \
rsyslog \ rsyslog \
socat \ socat \
supervisor \ supervisor \
@@ -74,9 +75,6 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -27,6 +27,7 @@ RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
curl \
dirmngr \ dirmngr \
gnupg \ gnupg \
{% for repo in apt_repositories_enabled -%} {% for repo in apt_repositories_enabled -%}
@@ -43,11 +44,11 @@ RUN set -x \
{%- endif -%} {%- endif -%}
{#- Version specific key available? -#} {#- Version specific key available? -#}
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %} {%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
{# #} {# #}
{#- Generic key available? -#} {#- Generic key available? -#}
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %} {%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %}
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
{# #} {# #}
{%- endif -%} {%- endif -%}
{#- Version specific repository available? -#} {#- Version specific repository available? -#}
@@ -69,10 +70,10 @@ RUN set -x \
automake \ automake \
bash-completion \ bash-completion \
binutils \ binutils \
blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
coreutils \ coreutils \
curl \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
file \ file \
@@ -246,10 +247,6 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###
VOLUME /etc/bashrc-devilbox.d
VOLUME /etc/php-custom.d
VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups VOLUME /shared/backups
VOLUME /var/log/php VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail

View File

@@ -185,6 +185,7 @@ compose_home: /usr/local/src/composer
### ###
apt_repositories_enabled: apt_repositories_enabled:
- backports - backports
- blackfire
- git - git
- mongo - mongo
- node - node
@@ -218,8 +219,10 @@ software_enabled:
- phalcon - phalcon
- phpcs - phpcs
- phpcbf - phpcbf
- php-cs-fixer
- phpunit - phpunit
- photon - photon
- pm2
- sass - sass
- symfony - symfony
- webpack - webpack
@@ -245,6 +248,10 @@ apt_repositories_available:
backports: backports:
all: all:
deb: deb http://ftp.debian.org/debian jessie-backports main deb: deb http://ftp.debian.org/debian jessie-backports main
blackfire:
all:
deb: deb http://packages.blackfire.io/debian any main
pre: curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
git: git:
7.2: 7.2:
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
@@ -268,7 +275,7 @@ apt_repositories_available:
deb: deb http://deb.nodesource.com/node_8.x stretch main deb: deb http://deb.nodesource.com/node_8.x stretch main
all: all:
deb: deb http://deb.nodesource.com/node_8.x jessie main deb: deb http://deb.nodesource.com/node_8.x jessie main
pre: curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - pre: curl -sS "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
pgsql: pgsql:
7.2: 7.2:
deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
@@ -278,11 +285,11 @@ apt_repositories_available:
deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
all: all:
deb: deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main deb: deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
pre: curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - pre: curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
yarn: yarn:
all: all:
deb: deb http://dl.yarnpkg.com/debian/ stable main deb: deb http://dl.yarnpkg.com/debian/ stable main
pre: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - pre: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
### ###
@@ -332,6 +339,7 @@ software_available:
# awesome-ci requirements # awesome-ci requirements
post: | post: |
gem install mixlib-config -v 2.2.4 \ gem install mixlib-config -v 2.2.4 \
&& gem install rb-inotify -v 0.9.10 \
&& gem install mdl \ && gem install mdl \
&& gem install scss_lint \ && gem install scss_lint \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \ && yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
@@ -392,7 +400,7 @@ software_available:
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -423,8 +431,8 @@ software_available:
check: grunt --version | grep -E '[.0-9]+' check: grunt --version | grep -E '[.0-9]+'
all: all:
command: | command: |
yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \ until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \ && until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
&& rm -rf /tmp/y \ && rm -rf /tmp/y \
laravel: laravel:
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+' check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+'
@@ -536,30 +544,49 @@ software_available:
check: phpcs --version | grep -E 'version [.0-9]+' check: phpcs --version | grep -E 'version [.0-9]+'
5.2: 5.2:
command: | command: |
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
5.3: 5.3:
command: | command: |
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
all: all:
command: | command: |
curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
phpcbf: phpcbf:
check: phpcbf --version | grep -E 'version [.0-9]+' check: phpcbf --version | grep -E 'version [.0-9]+'
5.2: 5.2:
command: | command: |
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
5.3: 5.3:
command: | command: |
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
all: all:
command: | command: |
curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
php-cs-fixer:
disabled: [5.2, 7.4]
check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+'
5.3:
command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
5.4:
command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
5.5:
command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
all:
command: |
curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \
phpunit: phpunit:
disabled: [5.2] disabled: [5.2]
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+'
@@ -594,6 +621,11 @@ software_available:
command: | command: |
COMPOSER_HOME="{{ compose_home }}" composer global require "photoncms/installer" \ COMPOSER_HOME="{{ compose_home }}" composer global require "photoncms/installer" \
&& ln -s {{ compose_home }}/vendor/photoncms/installer/photon /usr/local/bin/photon \ && ln -s {{ compose_home }}/vendor/photoncms/installer/photon /usr/local/bin/photon \
# https://github.com/Unitech/pm2
pm2:
check: pm2 --no-daemon --version | grep -E '[.0-9]+'
all:
command: until npm install pm2 -g; do sleep 1; done
sass: sass:
check: sass --version | grep -E '[.0-9]+' check: sass --version | grep -E '[.0-9]+'
all: all:
@@ -669,6 +701,7 @@ extensions_enabled:
- amqp - amqp
- apcu - apcu
- bcmath - bcmath
- blackfire
- bz2 - bz2
- calendar - calendar
- ctype - ctype
@@ -695,11 +728,12 @@ extensions_enabled:
- libxml - libxml
- mbstring - mbstring
- mcrypt - mcrypt
- msgpack
- memcache - memcache
# requires igbinary and msgpack to be installed
- memcached - memcached
- mongo - mongo
- mongodb - mongodb
- msgpack
- mysql - mysql
- mysqli - mysqli
- mysqlnd - mysqlnd
@@ -717,6 +751,7 @@ extensions_enabled:
- pdo_odbc - pdo_odbc
- pdo_pgsql - pdo_pgsql
- pdo_sqlite - pdo_sqlite
- pdo_sqlsrv
- pgsql - pgsql
- phalcon - phalcon
- phar - phar
@@ -725,6 +760,7 @@ extensions_enabled:
- readline - readline
- recode - recode
- redis - redis
- reflection
- rdkafka - rdkafka
- session - session
- shmop - shmop
@@ -734,6 +770,7 @@ extensions_enabled:
- sockets - sockets
- sodium - sodium
- spl - spl
- sqlsrv
- swoole - swoole
- sysvmsg - sysvmsg
- sysvsem - sysvsem
@@ -786,10 +823,16 @@ extensions_available:
type: pecl type: pecl
version: 1.4.0 version: 1.4.0
5.3: 5.3:
type: pecl
version: 1.9.3
run_dep: [librabbitmq1] run_dep: [librabbitmq1]
5.4: 5.4:
type: pecl
version: 1.9.3
run_dep: [librabbitmq1] run_dep: [librabbitmq1]
5.5: 5.5:
type: pecl
version: 1.9.3
run_dep: [librabbitmq1] run_dep: [librabbitmq1]
all: all:
type: pecl type: pecl
@@ -815,6 +858,17 @@ extensions_available:
bcmath: bcmath:
all: all:
type: builtin type: builtin
blackfire:
disabled: [5.2, 5.3, 5.4, 5.5, 7.4]
all:
type: custom
command: |
version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
bz2: bz2:
all: all:
type: builtin type: builtin
@@ -823,23 +877,14 @@ extensions_available:
all: all:
type: builtin type: builtin
ctype: ctype:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
curl: curl:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libcurl4-openssl-dev]
dba: dba:
all: all:
type: builtin type: builtin
dom: dom:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
enchant: enchant:
5.2: 5.2:
type: pecl type: pecl
@@ -931,24 +976,21 @@ extensions_available:
pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
build_dep: [libgmp-dev] build_dep: [libgmp-dev]
hash: hash:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
iconv: iconv:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
igbinary: igbinary:
5.2: 5.2:
type: pecl type: pecl
version: 2.0.7 version: 2.0.7
5.3:
type: pecl
version: 2.0.7
all: all:
type: pecl type: pecl
imagick: imagick:
disabled: [5.2, 5.3, 7.4] disabled: [5.2, 7.4]
5.3:
type: pecl
version: 3.3.0
run_dep: [libmagickwand-6.q16-2]
5.4: 5.4:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-2] run_dep: [libmagickwand-6.q16-2]
@@ -1003,12 +1045,7 @@ extensions_available:
&& rm -rf ioncube \ && rm -rf ioncube \
&& rm -rf ioncube.tar.gz \ && rm -rf ioncube.tar.gz \
json: json:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
7.0:
type: builtin
build_dep: [bison]
all:
type: builtin
ldap: ldap:
all: all:
type: builtin type: builtin
@@ -1022,7 +1059,7 @@ extensions_available:
all: all:
type: builtin type: builtin
mcrypt: mcrypt:
disabled: [7.4] disabled: [7.3, 7.4]
7.2: 7.2:
type: pecl type: pecl
version: 1.0.1 version: 1.0.1
@@ -1066,11 +1103,6 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 2.2.0 version: 2.2.0
7.3:
type: git
git_url: https://github.com/php-memcached-dev/php-memcached
git_ref: master
command: phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install
7.4: 7.4:
type: git type: git
git_url: https://github.com/php-memcached-dev/php-memcached git_url: https://github.com/php-memcached-dev/php-memcached
@@ -1078,7 +1110,8 @@ extensions_available:
command: phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install command: phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install
all: all:
type: pecl type: pecl
build_dep: [zlib1g-dev, libmemcached-dev] #version: 3.0.4 # TODO: check if this version works
build_dep: [zlib1g-dev, libmemcached-dev, libevent-dev]
run_dep: [libmemcachedutil2] run_dep: [libmemcachedutil2]
mongo: mongo:
disabled: [7.0, 7.1, 7.2, 7.3, 7.4] # Deprecated disabled: [7.0, 7.1, 7.2, 7.3, 7.4] # Deprecated
@@ -1090,7 +1123,10 @@ extensions_available:
command: yes | pecl install mongo command: yes | pecl install mongo
build_dep: [libssl-dev, libsasl2-dev] build_dep: [libssl-dev, libsasl2-dev]
mongodb: mongodb:
disabled: [5.2, 5.3] disabled: [5.2]
5.3:
type: pecl
version: 0.6.3
5.4: 5.4:
type: pecl type: pecl
version: 1.2.11 version: 1.2.11
@@ -1098,7 +1134,7 @@ extensions_available:
type: pecl type: pecl
build_dep: [libssl-dev, libsasl2-dev] build_dep: [libssl-dev, libsasl2-dev]
msgpack: msgpack:
disabled: [7.3, 7.4] disabled: [7.4]
5.2: 5.2:
type: pecl type: pecl
version: 0.5.7 version: 0.5.7
@@ -1133,7 +1169,23 @@ extensions_available:
disabled: [5.2] disabled: [5.2]
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4]
oci8: oci8:
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing disabled: [5.2]
all:
type: builtin
configure: --with-oci8=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3
pre: |
rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
build_dep: [alien, libaio-dev]
run_dep: [libaio1]
odbc: odbc:
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found! disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
opcache: opcache:
@@ -1149,18 +1201,14 @@ extensions_available:
all: all:
type: builtin type: builtin
openssl: openssl:
already_avail: "{{ php_all_versions }}" # Available by default already_avail: "{{ php_all_versions }}"
pcntl: pcntl:
all: all:
type: builtin type: builtin
pcre: pcre:
already_avail: "{{ php_all_versions }}" # Available by default already_avail: "{{ php_all_versions }}"
pdo: pdo:
# https://github.com/docker-library/php/issues/618 already_avail: "{{ php_all_versions }}"
#disabled: [7.0] # TODO: Currently disabled due to bug in built
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.1, 7.2, 7.3, 7.4]
all:
type: builtin
pdo_dblib: pdo_dblib:
all: all:
type: builtin type: builtin
@@ -1179,10 +1227,31 @@ extensions_available:
configure: --with-zlib-dir=/usr configure: --with-zlib-dir=/usr
build_dep: [zlib1g-dev] build_dep: [zlib1g-dev]
pdo_oci: pdo_oci:
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing disabled: [5.2, 5.3, 5.4, 5.5, 5.6]
# disabled: [5.2] 7.4:
# all: type: builtin
# type: builtin configure: --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3
7.3:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3
7.2:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/18.3/client64/lib/,18.3
all:
type: builtin
configure: --with-pdo-oci=instantclient,/usr,18.3
pre: |
rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
&& curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm \
&& (ln -s /usr/lib/oracle/18.3/client64/lib/*.so* /usr/lib/ || true) \
build_dep: [alien]
pdo_odbc: pdo_odbc:
disabled: "{{ php_all_versions }}" # TODO: Build errors disabled: "{{ php_all_versions }}" # TODO: Build errors
pdo_pgsql: pdo_pgsql:
@@ -1191,57 +1260,74 @@ extensions_available:
build_dep: [libpq-dev] build_dep: [libpq-dev]
run_dep: [libpq5] run_dep: [libpq5]
pdo_sqlite: pdo_sqlite:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
pdo_sqlsrv:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.4]
7.3:
type: pecl
version: 5.5.0preview
build_dep: [unixodbc-dev]
run_dep: [unixodbc]
all: all:
type: builtin type: pecl
build_dep: [libsqlite3-dev] build_dep: [unixodbc-dev]
run_dep: [unixodbc]
pgsql: pgsql:
all: all:
type: builtin type: builtin
build_dep: [libpq-dev] build_dep: [libpq-dev]
run_dep: [libpq5] run_dep: [libpq5]
phalcon: phalcon:
disabled: [5.2, 5.3, 7.3, 7.4] disabled: [5.2, 7.4]
5.3:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: phalcon-v2.0.9
command: cd build && ./install >/dev/null
5.4: 5.4:
type: git type: git
git_url: https://github.com/phalcon/cphalcon git_url: https://github.com/phalcon/cphalcon
git_ref: phalcon-v2.0.13 git_ref: phalcon-v2.0.13
command: cd build && ./install command: cd build && ./install
# 7.3: 5.5:
# type: git type: git
# git_url: https://github.com/phalcon/cphalcon git_url: https://github.com/phalcon/cphalcon
# git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') git_ref: v3.4.2
# # TODO: Workaround to make it compile on PHP 7.3 command: cd build && ./install
# command: cd build && echo > php7/64bits/phalcon.zep.c && ./install 5.6:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
command: cd build && ./install
7.0:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
command: cd build && ./install
7.1:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
command: cd build && ./install
all: all:
type: git type: git
git_url: https://github.com/phalcon/cphalcon git_url: https://github.com/phalcon/cphalcon
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1)
command: cd build && ./install command: cd build && ./install
phar: phar:
# https://github.com/docker-library/php/issues/618 already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4]
disabled: [5.6, 7.0] # TODO: Currently disabled due to bug in built
already_avail: [5.3, 5.4, 5.5, 7.1, 7.2, 7.3, 7.4]
5.2: 5.2:
type: pecl type: pecl
all:
type: builtin
build_dep: [libssl-dev] build_dep: [libssl-dev]
posix: posix:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
pspell: pspell:
all: all:
type: builtin type: builtin
build_dep: [libpspell-dev] build_dep: [libpspell-dev]
run_dep: [libaspell15] run_dep: [libaspell15]
readline: readline:
disabled: [5.3] already_avail: "{{ php_all_versions }}"
already_avail: [5.2, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4]
all:
type: builtin
build_dep: [libedit-dev, libreadline-dev]
recode: recode:
already_avail: [5.3, 5.4] already_avail: [5.3, 5.4]
all: all:
@@ -1266,6 +1352,8 @@ extensions_available:
&& make install \ && make install \
all: all:
type: pecl type: pecl
reflection:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4]
rdkafka: rdkafka:
disabled: [5.2] disabled: [5.2]
all: all:
@@ -1273,20 +1361,12 @@ extensions_available:
build_dep: [librdkafka-dev] build_dep: [librdkafka-dev]
run_dep: [librdkafka1] run_dep: [librdkafka1]
session: session:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-mm
build_dep: [libmm-dev]
shmop: shmop:
all: all:
type: builtin type: builtin
simplexml: simplexml:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
snmp: snmp:
all: all:
type: builtin type: builtin
@@ -1309,9 +1389,24 @@ extensions_available:
type: builtin type: builtin
build_dep: [libsodium-dev] build_dep: [libsodium-dev]
spl: spl:
disabled: "{{ php_all_versions }}" # TODO: Did not work already_avail: "{{ php_all_versions }}"
sqlsrv:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.4]
7.3:
type: pecl
version: 5.5.0preview
build_dep: [unixodbc-dev]
run_dep: [unixodbc]
all:
type: pecl
build_dep: [unixodbc-dev]
run_dep: [unixodbc]
swoole: swoole:
disabled: [5.2, 5.3] disabled: [5.2]
5.3:
type: pecl
version: 1.9.23
run_dep: [libnghttp2-5]
5.4: 5.4:
type: pecl type: pecl
version: 1.9.23 version: 1.9.23
@@ -1329,82 +1424,34 @@ extensions_available:
git_ref: master git_ref: master
command: | command: |
git checkout $(git describe --abbrev=0 --tags) \ git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
#`&& cd thirdparty/hiredis` \
#`&& make -j$(getconf _NPROCESSORS_ONLN)` \
#`&& make install` \
#`&& cd ../../` \
&& cd thirdparty/nghttp2 \
&& cmake . \
&& make install \
&& ldconfig \
&& cd ../.. \
&& phpize \ && phpize \
&& ./configure \ && ./configure \
--enable-async-redis \
--enable-openssl \ --enable-openssl \
--enable-thread \ --enable-sockets \
--enable-swoole \ --enable-http2 \
--enable-swoole-static \
--with-swoole \
--with-openssl-dir=/usr \
--enable-mysqlnd \ --enable-mysqlnd \
--enable-coroutine \ --enable-coroutine-postgresql \
--enable-picohttpparser \
#`--enable-timewheel` \
#`--enable-hugepage` \
#`--enable-asan` \
#`--with-phpx-dir=` \
#`--with-jemalloc-dir=/usr/include/jemalloc` \
#`--enable-coroutine-postgresql` \
#`--enable-http2` \
#`--enable-sockets` \
#`--with-libpq-dir=/usr/include/postgresql/libpq/` \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
run_dep: [libnghttp2-14, libhiredis0.13] run_dep: [libnghttp2-14, libhiredis0.13]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, cmake] build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
7.4: 7.4:
type: git type: git
git_url: https://github.com/swoole/swoole-src git_url: https://github.com/swoole/swoole-src
git_ref: master git_ref: master
command: | command: |
git checkout $(git describe --abbrev=0 --tags) \ git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
#`&& cd thirdparty/hiredis` \
#`&& make -j$(getconf _NPROCESSORS_ONLN)` \
#`&& make install` \
#`&& cd ../../` \
&& cd thirdparty/nghttp2 \
&& cmake . \
&& make install \
&& ldconfig \
&& cd ../.. \
&& phpize \ && phpize \
&& ./configure \ && ./configure \
#`--enable-async-redis` \
--enable-openssl \ --enable-openssl \
--enable-thread \ --enable-sockets \
--enable-swoole \ --enable-http2 \
--enable-swoole-static \
--with-swoole \
--with-openssl-dir=/usr \
--enable-mysqlnd \ --enable-mysqlnd \
--enable-coroutine \ --enable-coroutine-postgresql \
--enable-picohttpparser \
#`--enable-timewheel` \
#`--enable-hugepage` \
#`--enable-asan` \
#`--with-phpx-dir=` \
#`--with-jemalloc-dir=/usr/include/jemalloc` \
#`--enable-coroutine-postgresql` \
#`--enable-http2` \
#`--enable-sockets` \
#`--with-libpq-dir=/usr/include/postgresql/libpq/` \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
run_dep: [libnghttp2-14, libhiredis0.13] run_dep: [libnghttp2-14, libhiredis0.13]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, cmake] build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
all: all:
type: pecl type: pecl
build_dep: [libnghttp2-dev, libssl-dev] build_dep: [libnghttp2-dev, libssl-dev]
@@ -1436,9 +1483,7 @@ extensions_available:
build_dep: [libtidy-dev] build_dep: [libtidy-dev]
run_dep: [libtidy5] run_dep: [libtidy5]
tokenizer: tokenizer:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
uploadprogress: uploadprogress:
7.0: 7.0:
type: git type: git
@@ -1468,7 +1513,7 @@ extensions_available:
configure: --with-libxml-dir=/usr configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev] build_dep: [libxml2-dev]
xdebug: xdebug:
disabled: [7.3, 7.4] disabled: [7.4]
5.2: 5.2:
type: pecl type: pecl
version: 2.2.7 version: 2.2.7
@@ -1484,31 +1529,22 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 2.4.1 version: 2.4.1
7.3:
type: pecl
version: 2.7.0beta1
all: all:
type: pecl type: pecl
xml: xml:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xmlreader: xmlreader:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xmlrpc: xmlrpc:
all: all:
type: builtin type: builtin
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
build_dep: [libxml2-dev] build_dep: [libxml2-dev]
xmlwriter: xmlwriter:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4] already_avail: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xsl: xsl:
all: all:
type: builtin type: builtin

View File

@@ -35,13 +35,30 @@ get_modules() {
# Retrieve all modules # Retrieve all modules
PHP_MODULES="$( docker run -it --entrypoint=php devilbox/php-fpm:${tag} -m )" PHP_MODULES="$( docker run -it --entrypoint=php devilbox/php-fpm:${tag} -m )"
ALL_MODULES=
if docker run -it --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'ioncube.so' | grep -q ioncube.so; then
ALL_MODULES="${ALL_MODULES},ioncube";
fi
if docker run -it --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'blackfire.so' | grep -q blackfire.so; then
ALL_MODULES="${ALL_MODULES},blackfire";
fi
# Process module string into correct format for README.md # Process module string into correct format for README.md
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/^\[.*//g' )" # Remove PHP Modules headlines PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/^\[.*//g' )" # Remove PHP Modules headlines
PHP_MODULES="${ALL_MODULES}${PHP_MODULES}" # Append all available modules
PHP_MODULES="$( echo "${PHP_MODULES}" | sort -fu )" # Unique PHP_MODULES="$( echo "${PHP_MODULES}" | sort -fu )" # Unique
PHP_MODULES="$( echo "${PHP_MODULES}" | sed '/^\s*$/d' )" # Remove empty lines PHP_MODULES="$( echo "${PHP_MODULES}" | sed '/^\s*$/d' )" # Remove empty lines
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\r\n' ',' )" # Newlines to commas PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\r\n' ',' )" # Newlines to commas
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\n' ',' )" # Newlines to commas
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\r' ',' )" # Newlines to commas
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/^M/,/g' )" # Newlines to commas
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,,/,/g' )" # Remove PHP Modules headlines PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,,/,/g' )" # Remove PHP Modules headlines
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,/\n/g' )" # Back to newlines
PHP_MODULES="$( echo "${PHP_MODULES}" | sort -fu )" # Unique
PHP_MODULES="$( echo "${PHP_MODULES}" | sed '/^\s*$/d' )" # Remove empty lines
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\n' ',' )" # Newlines to commas
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,$//g' )" # Remove trailing comma PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,$//g' )" # Remove trailing comma
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,/, /g' )" # Add space to comma PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,/, /g' )" # Add space to comma

View File

@@ -38,7 +38,7 @@ chmod 0777 "${DOC_ROOT_HOST}"
chmod 0644 "${DOC_ROOT_HOST}/index.php" chmod 0644 "${DOC_ROOT_HOST}/index.php"
# Pull Image # Pull Image
run "docker pull ${CONTAINER}" run "while ! docker pull ${CONTAINER}; do sleep 1; done"
# Start PHP-FPM # Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT}" )" did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT}" )"

View File

@@ -25,7 +25,7 @@ FLAVOUR="${3}"
CONTAINER="mysql:5.6" CONTAINER="mysql:5.6"
# Pull Container # Pull Container
run "docker pull ${CONTAINER}" run "while ! docker pull ${CONTAINER}; do sleep 1; done"
# Start mysql container # Start mysql container
mdid="$( docker_run "${CONTAINER}" "-e MYSQL_ALLOW_EMPTY_PASSWORD=yes" )" mdid="$( docker_run "${CONTAINER}" "-e MYSQL_ALLOW_EMPTY_PASSWORD=yes" )"

View File

@@ -44,7 +44,7 @@ chmod 0777 "${DOC_ROOT_HOST}"
chmod 0644 "${DOC_ROOT_HOST}/index.php" chmod 0644 "${DOC_ROOT_HOST}/index.php"
# Pull container # Pull container
run "docker pull ${CONTAINER}" run "while ! docker pull ${CONTAINER}; do sleep 1; done"
# Start PHP-FPM # Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${PHP_INI_HOST}:${PHP_INI_CONT}" )" did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${PHP_INI_HOST}:${PHP_INI_CONT}" )"

View File

@@ -49,7 +49,7 @@ chmod 0777 "${DOC_ROOT_HOST}"
chmod 0644 "${DOC_ROOT_HOST}/index.php" chmod 0644 "${DOC_ROOT_HOST}/index.php"
# Pull container # Pull container
run "docker pull ${CONTAINER}" run "while ! docker pull ${CONTAINER}; do sleep 1; done"
# Start PHP-FPM # Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${PHP_CNF_HOST}:${PHP_CNF_CONT}" )" did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${PHP_CNF_HOST}:${PHP_CNF_CONT}" )"

View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
IMAGE="${1}"
VERSION="${2}"
FLAVOUR="${3}"
# shellcheck disable=SC1090
. "${CWD}/../.lib.sh"
############################################################
# Tests
############################################################
###
### Check if PHP still starts up with working scripts
###
RUN_SH_HOST="$( mktemp -d )"
RUN_SH_CONT="/startup.1.d"
# Fix mount permissions
chmod 0777 "${RUN_SH_HOST}"
# Add a startup script to execute
printf "#!/bin/bash\\necho 'abcdefghijklmnopq';\\n" > "${RUN_SH_HOST}/myscript1.sh"
chmod +x "${RUN_SH_HOST}/myscript1.sh"
# Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${RUN_SH_HOST}:${RUN_SH_CONT}" )"
# Wait for both containers to be up and running
run "sleep 10"
# Check entrypoint for script run
if ! run "docker logs ${did} | grep 'myscript1.sh'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
rm -rf "${RUN_SH_HOST}"
echo "Failed"
exit 1
fi
# Check entrypoint for script output
if ! run "docker logs ${did} | grep 'abcdefghijklmnopq'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
rm -rf "${RUN_SH_HOST}"
echo "Failed"
exit 1
fi
# Cleanup
docker_stop "${did}"
rm -rf "${RUN_SH_HOST}"

View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
IMAGE="${1}"
VERSION="${2}"
FLAVOUR="${3}"
# shellcheck disable=SC1090
. "${CWD}/../.lib.sh"
############################################################
# Tests
############################################################
###
### Check if PHP still starts up with working scripts
###
RUN_SH_HOST="$( mktemp -d )"
RUN_SH_CONT="/startup.2.d"
# Fix mount permissions
chmod 0777 "${RUN_SH_HOST}"
# Add a startup script to execute
printf "#!/bin/bash\\necho 'abcdefghijklmnopq';\\n" > "${RUN_SH_HOST}/myscript1.sh"
chmod +x "${RUN_SH_HOST}/myscript1.sh"
# Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${RUN_SH_HOST}:${RUN_SH_CONT}" )"
# Wait for both containers to be up and running
run "sleep 10"
# Check entrypoint for script run
if ! run "docker logs ${did} | grep 'myscript1.sh'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
rm -rf "${RUN_SH_HOST}"
echo "Failed"
exit 1
fi
# Check entrypoint for script output
if ! run "docker logs ${did} | grep 'abcdefghijklmnopq'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
rm -rf "${RUN_SH_HOST}"
echo "Failed"
exit 1
fi
# Cleanup
docker_stop "${did}"
rm -rf "${RUN_SH_HOST}"

View File

@@ -27,7 +27,7 @@ MOUNTPOINT="$( mktemp --directory )"
CONTAINER="mysql:5.6" CONTAINER="mysql:5.6"
# Pull Container # Pull Container
run "docker pull ${CONTAINER}" run "while ! docker pull ${CONTAINER}; do sleep 1; done"
# Start mysql container # Start mysql container
mdid="$( docker_run "${CONTAINER}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )" mdid="$( docker_run "${CONTAINER}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )"