mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-11 19:41:16 +00:00
Compare commits
129 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6cd2ef4a1b | ||
|
|
622af7851a | ||
|
|
b2c1b8e453 | ||
|
|
4a1efb6b74 | ||
|
|
e843265575 | ||
|
|
ff0b86c37c | ||
|
|
166eff3347 | ||
|
|
d309c38a41 | ||
|
|
9fedd002e8 | ||
|
|
61352d2451 | ||
|
|
628720af0e | ||
|
|
af427a7e0a | ||
|
|
5b72766680 | ||
|
|
ec82710b48 | ||
|
|
8f53730254 | ||
|
|
cb9826eff5 | ||
|
|
452269c1b0 | ||
|
|
3926ee7c7d | ||
|
|
f376fd6766 | ||
|
|
6e0db69047 | ||
|
|
a645486c84 | ||
|
|
f0bc16ef5f | ||
|
|
bd3585596f | ||
|
|
54a8258bbc | ||
|
|
33bb1f5213 | ||
|
|
16e65379d9 | ||
|
|
333297f8d7 | ||
|
|
ab68fd47a2 | ||
|
|
820c08490a | ||
|
|
ee6917b3ef | ||
|
|
67d056811c | ||
|
|
1728629048 | ||
|
|
dfaef4bd2c | ||
|
|
0aa767e8c9 | ||
|
|
651ef659b6 | ||
|
|
e55469f7c1 | ||
|
|
85991d2e3f | ||
|
|
70764c268c | ||
|
|
023ad2af60 | ||
|
|
4f1a054f8c | ||
|
|
3f08a762f5 | ||
|
|
689703a9b9 | ||
|
|
2f953cd062 | ||
|
|
4fa6afe4e3 | ||
|
|
66a5ce778a | ||
|
|
adc5f28c4d | ||
|
|
1a5600ff86 | ||
|
|
a4bcf2b091 | ||
|
|
152a92386e | ||
|
|
66fa1c195e | ||
|
|
87bc0aa085 | ||
|
|
faff334e14 | ||
|
|
bbe3785091 | ||
|
|
3378d7a10b | ||
|
|
11ef4c6f3f | ||
|
|
f90a3532fc | ||
|
|
59ecc5dc11 | ||
|
|
a2d43259a4 | ||
|
|
2947a465f8 | ||
|
|
9f280dd5b1 | ||
|
|
68f11781f1 | ||
|
|
8d2eee37f1 | ||
|
|
3a29a77925 | ||
|
|
79b9ed1308 | ||
|
|
dc20fbea6e | ||
|
|
77716db302 | ||
|
|
62cc38d4af | ||
|
|
68615b22be | ||
|
|
1740392d3c | ||
|
|
427cc3fff6 | ||
|
|
4d925540b7 | ||
|
|
be439edfb3 | ||
|
|
867c1121c9 | ||
|
|
db397e5ef5 | ||
|
|
4569855e6e | ||
|
|
dfe0f8c4b2 | ||
|
|
ab4f0e01fe | ||
|
|
6371378d03 | ||
|
|
594762b697 | ||
|
|
24ec18d051 | ||
|
|
f8903bcb04 | ||
|
|
e33231be79 | ||
|
|
6cbf1da423 | ||
|
|
9c7c504f88 | ||
|
|
ed13130025 | ||
|
|
e816c9a376 | ||
|
|
f5af07cede | ||
|
|
cb29e8da6a | ||
|
|
61224dfb12 | ||
|
|
b257ffb972 | ||
|
|
10e114fdd2 | ||
|
|
6fb6a2f61c | ||
|
|
a9fc2a95a1 | ||
|
|
dc2daccaaa | ||
|
|
d1d0bb1300 | ||
|
|
4fa6943f8c | ||
|
|
8342c1e20f | ||
|
|
c991494dee | ||
|
|
64f9fb510b | ||
|
|
34d87faa62 | ||
|
|
49fb3c44dc | ||
|
|
7147549e97 | ||
|
|
78227bf2ee | ||
|
|
5c1ae24dd7 | ||
|
|
b57a7c1a24 | ||
|
|
c0bd7e32b8 | ||
|
|
4c856c6d67 | ||
|
|
68417da37f | ||
|
|
fd255f1f9a | ||
|
|
e285134ad3 | ||
|
|
53cc3c5cc9 | ||
|
|
00d2e41de8 | ||
|
|
4afe6ab397 | ||
|
|
c427f37fba | ||
|
|
ea68f8e37a | ||
|
|
d5d07d0620 | ||
|
|
cfc06a1458 | ||
|
|
92eceb9ae9 | ||
|
|
796195dfdc | ||
|
|
3c17b4d3c1 | ||
|
|
b79e4b5b1b | ||
|
|
d82a529955 | ||
|
|
c41d30c92f | ||
|
|
3ffa64ad3a | ||
|
|
3a901f1699 | ||
|
|
e4c9e70957 | ||
|
|
619af1207d | ||
|
|
ff6afb7296 | ||
|
|
8a4736f1e4 |
16
.travis.yml
16
.travis.yml
@@ -32,6 +32,7 @@ env:
|
|||||||
- PHP=7.1
|
- PHP=7.1
|
||||||
- PHP=7.2
|
- PHP=7.2
|
||||||
- PHP=7.3
|
- PHP=7.3
|
||||||
|
- PHP=7.4
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -97,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}" &&
|
||||||
@@ -111,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}" &&
|
||||||
@@ -119,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
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -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 devilbox/php-fpm-7.3
|
FROM php:7.3-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -36,9 +36,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
95
Dockerfiles/base/Dockerfile-7.4
Normal file
95
Dockerfiles/base/Dockerfile-7.4
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-7.4
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.4-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="7.4"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade (install ps)
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /var/lib/php/session \
|
||||||
|
&& mkdir -p /var/lib/php/wsdlcache \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-7.4.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-7.4.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
<value name="listen_options">
|
<value name="listen_options">
|
||||||
Set listen(2) backlog
|
Set listen(2) backlog
|
||||||
<value name="backlog">128</value>
|
<value name="backlog">1024</value>
|
||||||
Set permissions for unix socket, if one used.
|
Set permissions for unix socket, if one used.
|
||||||
In Linux read/write permissions must be set in order to allow connections from web server.
|
In Linux read/write permissions must be set in order to allow connections from web server.
|
||||||
Many BSD-derrived systems allow connections regardless of permissions.
|
Many BSD-derrived systems allow connections regardless of permissions.
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-7.4.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-7.4.conf
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings can be overwritten by later includes
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Timeouts
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; The timeout for serving a single request after which the worker process will be killed.
|
||||||
|
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||||
|
; execution for some reason.
|
||||||
|
request_terminate_timeout = 120s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Logging
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
log_level = notice
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; if we send this to /proc/self/fd/1, it never appears
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Backlog configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; A maximum of backlog incoming connections will be queued for processing.
|
||||||
|
; If a connection request arrives with the queue full the client may receive an error with an
|
||||||
|
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||||
|
; the request may be ignored so that retries may succeed.
|
||||||
|
|
||||||
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
|
; are silently truncated
|
||||||
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Worker configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; static - the number of child processes is fixed (pm.max_children).
|
||||||
|
;
|
||||||
|
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||||
|
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||||
|
;
|
||||||
|
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||||
|
; pm.start_servers are started when the service is started.
|
||||||
|
pm = ondemand
|
||||||
|
|
||||||
|
; The maximum number of child processes to be created
|
||||||
|
pm.max_children = 50
|
||||||
|
|
||||||
|
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||||
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||||
|
pm.start_servers = 4
|
||||||
|
|
||||||
|
; The desired minimum number of idle server processes.
|
||||||
|
pm.min_spare_servers = 2
|
||||||
|
|
||||||
|
; The desired maximum number of idle server processes.
|
||||||
|
pm.max_spare_servers = 6
|
||||||
|
|
||||||
|
; The number of requests each child process should execute before respawning.
|
||||||
|
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||||
|
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||||
|
; Default value: 0.
|
||||||
|
pm.max_requests = 500
|
||||||
|
|
||||||
|
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||||
|
pm.process_idle_timeout = 10s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Include
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
|
||||||
|
[global]
|
||||||
|
include = /usr/local/etc/php-fpm.d/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings overwrite any includes again
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Required for Dockerization
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Keep env variables set by docker
|
||||||
|
clear_env = no
|
||||||
|
|
||||||
|
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||||
|
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||||
|
; Note: on highloaded environement, this can cause some delay in the page
|
||||||
|
; process time (several ms).
|
||||||
|
; Default Value: no
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; User and Group
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
user = devilbox
|
||||||
|
group = devilbox
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Networking
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Ensure to listen here
|
||||||
|
listen = 9000
|
||||||
49
Dockerfiles/base/data/php-ini.d/php-7.4.ini
Normal file
49
Dockerfiles/base/data/php-ini.d/php-7.4.ini
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 7.4-base
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = Off
|
||||||
|
display_startup_errors = Off
|
||||||
|
log_errors = On
|
||||||
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.default_enable = Off
|
||||||
|
xdebug.profiler_enable = Off
|
||||||
|
xdebug.remote_enable = Off
|
||||||
|
xdebug.remote_autostart = Off
|
||||||
@@ -18,85 +18,62 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libmagic-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
libicu-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
libicu-dev \
|
||||||
zlib1g-dev \
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libmagic-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libsqlite3-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
libmm-dev \
|
libsasl2-dev \
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
snmp \
|
libssl-dev \
|
||||||
libxml2-dev \
|
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
snmp \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq1 \
|
libaspell15 \
|
||||||
libenchant1c2a \
|
|
||||||
libpng12-0 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx1 \
|
|
||||||
libfreetype6 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
|
libjpeg62-turbo \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
libsybdb5 \
|
libpng12-0 \
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
libpq5 \
|
||||||
libpq5 \
|
librabbitmq1 \
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
librecode0 \
|
||||||
snmp \
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
|
libvpx1 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
snmp \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -104,11 +81,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -119,23 +98,59 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: amqp ----
|
||||||
&& pecl install amqp-1.4.0 \
|
&& pecl install amqp-1.4.0 \
|
||||||
&& 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& echo "/usr" | pecl install enchant \
|
&& echo "/usr" | pecl install enchant \
|
||||||
&& docker-php-ext-enable enchant \
|
&& docker-php-ext-enable enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: fileinfo ----
|
||||||
&& pecl install fileinfo \
|
&& pecl install fileinfo \
|
||||||
&& docker-php-ext-enable fileinfo \
|
&& docker-php-ext-enable fileinfo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/fileinfo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/fileinfo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ftp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ftp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ftp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
|
||||||
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
|
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
|
||||||
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
|
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
|
||||||
@@ -144,107 +159,234 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
|
|||||||
\
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
&& pecl install igbinary \
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
|
&& pecl install igbinary-2.0.7 \
|
||||||
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& pecl install intl \
|
&& pecl install intl \
|
||||||
&& docker-php-ext-enable intl \
|
&& docker-php-ext-enable intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& pecl install memcache \
|
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
|
||||||
&& docker-php-ext-enable memcache \
|
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
|
||||||
&& pecl install memcached-2.1.0 \
|
\
|
||||||
&& docker-php-ext-enable memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& yes | pecl install mongo-1.5.8 \
|
|
||||||
&& docker-php-ext-enable mongo \
|
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& pecl install msgpack-0.5.7 \
|
||||||
&& docker-php-ext-enable msgpack \
|
&& docker-php-ext-enable msgpack \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcache ----
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& pecl install memcached-2.1.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongo ----
|
||||||
|
&& yes | pecl install mongo-1.5.8 \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: opcache ----
|
||||||
&& pecl install zendopcache \
|
&& pecl install zendopcache \
|
||||||
&& docker-php-ext-enable opcache \
|
&& docker-php-ext-enable opcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/opcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: phar ----
|
||||||
&& pecl install phar \
|
&& pecl install phar \
|
||||||
&& docker-php-ext-enable phar \
|
&& docker-php-ext-enable phar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
&& (rm -rf /usr/local/lib/php/test/phar || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/phar || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis-2.2.7 \
|
&& pecl install redis-2.2.7 \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug-2.2.7 \
|
&& pecl install xdebug-2.2.7 \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -267,6 +409,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -289,26 +433,32 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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$' \
|
||||||
&& php-fpm -m | grep -oiE '^mysqli$' \
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
&& 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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -329,10 +479,13 @@ RUN set -x \
|
|||||||
&& 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 '^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$' \
|
||||||
@@ -345,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$' \
|
||||||
|
|||||||
@@ -18,92 +18,70 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libssl-dev \
|
libevent-dev \
|
||||||
libpng-dev \
|
libfbclient2 \
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libsasl2-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpspell-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
snmp \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq1 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng12-0 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx1 \
|
|
||||||
libfreetype6 \
|
|
||||||
libmagickwand-6.q16-2 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-5 \
|
libnghttp2-5 \
|
||||||
|
libpng12-0 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq1 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
|
libvpx1 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
snmp \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -111,11 +89,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -126,139 +106,355 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu-4.0.11 \
|
&& pecl install apcu-4.0.11 \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ftp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ftp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ftp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick-3.3.0 \
|
&& pecl install imagick-3.3.0 \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mbstring ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mbstring || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mbstring || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& pecl install memcache \
|
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
|
||||||
&& docker-php-ext-enable memcache \
|
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
|
||||||
&& pecl install memcached-2.2.0 \
|
\
|
||||||
&& docker-php-ext-enable memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& yes | pecl install mongo \
|
|
||||||
&& docker-php-ext-enable mongo \
|
|
||||||
&& pecl install mongodb-0.6.3 \
|
|
||||||
&& docker-php-ext-enable mongodb \
|
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& pecl install msgpack-0.5.7 \
|
||||||
&& docker-php-ext-enable msgpack \
|
&& docker-php-ext-enable msgpack \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcache ----
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongo ----
|
||||||
|
&& yes | pecl install mongo \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
|
&& pecl install mongodb-0.6.3 \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& pecl install zendopcache \
|
&& pecl install zendopcache \
|
||||||
&& docker-php-ext-enable opcache \
|
&& docker-php-ext-enable opcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/opcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& cd /tmp/phalcon \
|
||||||
&& git checkout phalcon-v2.0.9 \
|
&& git checkout phalcon-v2.0.9 \
|
||||||
&& cd build && ./install \
|
&& cd build && ./install >/dev/null \
|
||||||
&& docker-php-ext-enable phalcon \
|
&& docker-php-ext-enable phalcon \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: swoole ----
|
||||||
&& pecl install swoole-1.9.23 \
|
&& pecl install swoole-1.9.23 \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug-2.2.7 \
|
&& pecl install xdebug-2.2.7 \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -283,6 +479,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -309,10 +507,14 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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$' \
|
||||||
@@ -321,16 +523,22 @@ 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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -353,10 +561,15 @@ RUN set -x \
|
|||||||
&& 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -369,6 +582,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$' \
|
||||||
|
|||||||
@@ -18,92 +18,70 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libssl-dev \
|
libevent-dev \
|
||||||
libpng-dev \
|
libfbclient2 \
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libsasl2-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpspell-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
snmp \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq1 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng12-0 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx1 \
|
|
||||||
libfreetype6 \
|
|
||||||
libmagickwand-6.q16-2 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-5 \
|
libnghttp2-5 \
|
||||||
|
libpng12-0 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq1 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
|
libvpx1 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
snmp \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -111,11 +89,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -126,139 +106,360 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu-4.0.11 \
|
&& pecl install apcu-4.0.11 \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install bcmath \
|
&& /usr/local/bin/docker-php-ext-install bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bz2 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install bz2 \
|
&& /usr/local/bin/docker-php-ext-install bz2 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install calendar \
|
&& /usr/local/bin/docker-php-ext-install calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install dba \
|
&& /usr/local/bin/docker-php-ext-install dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install enchant \
|
&& /usr/local/bin/docker-php-ext-install enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install exif \
|
&& /usr/local/bin/docker-php-ext-install exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ftp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install ftp \
|
&& /usr/local/bin/docker-php-ext-install ftp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ftp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ftp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install gd \
|
&& /usr/local/bin/docker-php-ext-install gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install gettext \
|
&& /usr/local/bin/docker-php-ext-install gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install gmp \
|
&& /usr/local/bin/docker-php-ext-install gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install imap \
|
&& /usr/local/bin/docker-php-ext-install imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install interbase \
|
&& /usr/local/bin/docker-php-ext-install interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install intl \
|
&& /usr/local/bin/docker-php-ext-install intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install ldap \
|
&& /usr/local/bin/docker-php-ext-install ldap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mbstring ----
|
||||||
&& /usr/local/bin/docker-php-ext-install mbstring \
|
&& /usr/local/bin/docker-php-ext-install mbstring \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mbstring || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mbstring || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install mcrypt \
|
&& /usr/local/bin/docker-php-ext-install mcrypt \
|
||||||
&& pecl install memcache \
|
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
|
||||||
&& docker-php-ext-enable memcache \
|
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
|
||||||
&& pecl install memcached-2.2.0 \
|
\
|
||||||
&& docker-php-ext-enable memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& yes | pecl install mongo \
|
|
||||||
&& docker-php-ext-enable mongo \
|
|
||||||
&& pecl install mongodb-1.2.11 \
|
|
||||||
&& docker-php-ext-enable mongodb \
|
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& pecl install msgpack-0.5.7 \
|
||||||
&& docker-php-ext-enable 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 ----
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongo ----
|
||||||
|
&& yes | pecl install mongo \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
|
&& pecl install mongodb-1.2.11 \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mysqli ----
|
||||||
&& /usr/local/bin/docker-php-ext-install mysqli \
|
&& /usr/local/bin/docker-php-ext-install mysqli \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& pecl install zendopcache \
|
&& pecl install zendopcache \
|
||||||
&& docker-php-ext-enable opcache \
|
&& docker-php-ext-enable opcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/opcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install pcntl \
|
&& /usr/local/bin/docker-php-ext-install pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 pdo_dblib \
|
&& /usr/local/bin/docker-php-ext-install pdo_dblib \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_pgsql ----
|
||||||
&& /usr/local/bin/docker-php-ext-install pdo_pgsql \
|
&& /usr/local/bin/docker-php-ext-install pdo_pgsql \
|
||||||
&& /usr/local/bin/docker-php-ext-install pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pgsql ----
|
||||||
&& /usr/local/bin/docker-php-ext-install pgsql \
|
&& /usr/local/bin/docker-php-ext-install pgsql \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& cd /tmp/phalcon \
|
||||||
&& git checkout phalcon-v2.0.13 \
|
&& git checkout phalcon-v2.0.13 \
|
||||||
&& cd build && ./install \
|
&& cd build && ./install \
|
||||||
&& docker-php-ext-enable phalcon \
|
&& docker-php-ext-enable phalcon \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install phar \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install posix \
|
\
|
||||||
|
# ---- Installing PHP Extension: pspell ----
|
||||||
&& /usr/local/bin/docker-php-ext-install pspell \
|
&& /usr/local/bin/docker-php-ext-install pspell \
|
||||||
&& /usr/local/bin/docker-php-ext-install recode \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install shmop \
|
&& /usr/local/bin/docker-php-ext-install shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install snmp \
|
&& /usr/local/bin/docker-php-ext-install snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install soap \
|
&& /usr/local/bin/docker-php-ext-install soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install sockets \
|
&& /usr/local/bin/docker-php-ext-install sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: swoole ----
|
||||||
&& pecl install swoole-1.9.23 \
|
&& pecl install swoole-1.9.23 \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install sysvmsg \
|
&& /usr/local/bin/docker-php-ext-install sysvmsg \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvmsg || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install sysvsem \
|
&& /usr/local/bin/docker-php-ext-install sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install sysvshm \
|
&& /usr/local/bin/docker-php-ext-install sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install tidy \
|
&& /usr/local/bin/docker-php-ext-install tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install wddx \
|
&& /usr/local/bin/docker-php-ext-install wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug-2.4.1 \
|
&& pecl install xdebug-2.4.1 \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-install xmlreader \
|
# ---- 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 xmlrpc \
|
&& /usr/local/bin/docker-php-ext-install xmlrpc \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install xsl \
|
&& /usr/local/bin/docker-php-ext-install xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install zip \
|
&& /usr/local/bin/docker-php-ext-install zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -283,6 +484,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -309,10 +512,14 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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$' \
|
||||||
@@ -321,16 +528,22 @@ 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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -353,10 +566,15 @@ RUN set -x \
|
|||||||
&& 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -369,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$' \
|
||||||
|
|||||||
@@ -18,94 +18,71 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libssl-dev \
|
libevent-dev \
|
||||||
libpng-dev \
|
libfbclient2 \
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libsasl2-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpspell-dev \
|
|
||||||
libedit-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
snmp \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq1 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng12-0 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx1 \
|
|
||||||
libfreetype6 \
|
|
||||||
libmagickwand-6.q16-2 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-5 \
|
libnghttp2-5 \
|
||||||
|
libpng12-0 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq1 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
|
libvpx1 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
snmp \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -113,11 +90,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -128,139 +107,353 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu-4.0.11 \
|
&& pecl install apcu-4.0.11 \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& pecl install memcache \
|
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
|
||||||
&& docker-php-ext-enable memcache \
|
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
|
||||||
&& pecl install memcached-2.2.0 \
|
\
|
||||||
&& docker-php-ext-enable memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& yes | pecl install mongo \
|
|
||||||
&& docker-php-ext-enable mongo \
|
|
||||||
&& pecl install mongodb \
|
|
||||||
&& docker-php-ext-enable mongodb \
|
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& pecl install msgpack-0.5.7 \
|
||||||
&& docker-php-ext-enable 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 ----
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongo ----
|
||||||
|
&& yes | pecl install mongo \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& 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 \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: swoole ----
|
||||||
&& pecl install swoole-1.9.23 \
|
&& pecl install swoole-1.9.23 \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug-2.4.1 \
|
&& pecl install xdebug-2.4.1 \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -285,6 +478,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -311,10 +506,14 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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$' \
|
||||||
@@ -323,16 +522,22 @@ 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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -356,11 +561,14 @@ 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -373,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$' \
|
||||||
|
|||||||
@@ -18,97 +18,75 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
libbz2-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libwebp-dev \
|
|
||||||
libgmp-dev \
|
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
libicu-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
libicu-dev \
|
||||||
zlib1g-dev \
|
libjpeg-dev \
|
||||||
libpq-dev \
|
libkrb5-dev \
|
||||||
libsqlite3-dev \
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
libedit-dev \
|
librabbitmq-dev \
|
||||||
libreadline-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
libmm-dev \
|
libsasl2-dev \
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq4 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng16-16 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx4 \
|
|
||||||
libfreetype6 \
|
|
||||||
libwebp6 \
|
|
||||||
libmagickwand-6.q16-3 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
|
libmariadbclient18 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmariadbclient18 \
|
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
snmp \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -116,11 +94,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -131,138 +111,364 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: amqp ----
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& echo "/usr" | pecl install amqp \
|
||||||
&& 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu-4.0.11 \
|
&& pecl install apcu-4.0.11 \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& pecl install memcache \
|
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
|
||||||
&& docker-php-ext-enable memcache \
|
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
|
||||||
&& pecl install memcached-2.2.0 \
|
\
|
||||||
&& docker-php-ext-enable memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& yes | pecl install mongo \
|
|
||||||
&& docker-php-ext-enable mongo \
|
|
||||||
&& pecl install mongodb \
|
|
||||||
&& docker-php-ext-enable mongodb \
|
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& pecl install msgpack-0.5.7 \
|
||||||
&& docker-php-ext-enable 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 ----
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongo ----
|
||||||
|
&& yes | pecl install mongo \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& 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 \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: swoole ----
|
||||||
&& pecl install swoole-1.9.23 \
|
&& pecl install swoole-1.9.23 \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug-2.4.1 \
|
&& pecl install xdebug-2.4.1 \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
\
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -287,6 +493,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -313,10 +521,14 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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$' \
|
||||||
@@ -325,16 +537,22 @@ 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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -351,16 +569,21 @@ 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -373,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$' \
|
||||||
|
|||||||
@@ -18,94 +18,76 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
libbz2-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libwebp-dev \
|
|
||||||
libgmp-dev \
|
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
libicu-dev \
|
|
||||||
bison \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
libicu-dev \
|
||||||
zlib1g-dev \
|
libjpeg-dev \
|
||||||
libpq-dev \
|
libkrb5-dev \
|
||||||
libsqlite3-dev \
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
libedit-dev \
|
librabbitmq-dev \
|
||||||
libreadline-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
libmm-dev \
|
libsasl2-dev \
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq4 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng16-16 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx4 \
|
|
||||||
libfreetype6 \
|
|
||||||
libwebp6 \
|
|
||||||
libmagickwand-6.q16-3 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -113,11 +95,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -128,144 +112,392 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: amqp ----
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& echo "/usr" | pecl install amqp \
|
||||||
&& 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu \
|
&& pecl install apcu \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
|
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
||||||
&& cd /tmp/memcache \
|
&& cd /tmp/memcache \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
&& ./configure --with-zlib-dir=/usr \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& cd / && rm -rf /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
&& pecl install memcached \
|
&& pecl install memcached \
|
||||||
&& 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/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb \
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& pecl install msgpack \
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
&& docker-php-ext-enable msgpack \
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& 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 \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
&& pecl install swoole-2.2.0 \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
|
&& pecl install swoole \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
|
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
&& cd /tmp/uploadprogress \
|
&& cd /tmp/uploadprogress \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --enable-uploadprogress \
|
&& ./configure --enable-uploadprogress \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& cd / && rm -rf /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug \
|
&& pecl install xdebug \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -290,6 +522,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -316,48 +550,69 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
&& php -m | grep -oiE '^pdo_firebird$' \
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
&& 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -370,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$' \
|
||||||
@@ -390,6 +649,8 @@ RUN set -x \
|
|||||||
&& php-fpm -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-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php -m | grep -oiE '^xmlwriter$' \
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
|||||||
@@ -18,94 +18,76 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
libbz2-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libwebp-dev \
|
|
||||||
libgmp-dev \
|
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
libicu-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
libicu-dev \
|
||||||
zlib1g-dev \
|
libjpeg-dev \
|
||||||
libpq-dev \
|
libkrb5-dev \
|
||||||
libsqlite3-dev \
|
libldap2-dev \
|
||||||
libpq-dev \
|
libmagickwand-dev \
|
||||||
libssl-dev \
|
libmcrypt-dev \
|
||||||
libpspell-dev \
|
libmemcached-dev \
|
||||||
libedit-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq4 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng16-16 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx4 \
|
|
||||||
libfreetype6 \
|
|
||||||
libwebp6 \
|
|
||||||
libmagickwand-6.q16-3 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -113,11 +95,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -128,146 +112,392 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: amqp ----
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& echo "/usr" | pecl install amqp \
|
||||||
&& 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu \
|
&& pecl install apcu \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
|
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
||||||
&& cd /tmp/memcache \
|
&& cd /tmp/memcache \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
&& ./configure --with-zlib-dir=/usr \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& cd / && rm -rf /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
&& pecl install memcached \
|
&& pecl install memcached \
|
||||||
&& 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/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb \
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& pecl install msgpack \
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
&& docker-php-ext-enable msgpack \
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& 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 \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& pecl install swoole \
|
&& pecl install swoole \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
|
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
&& cd /tmp/uploadprogress \
|
&& cd /tmp/uploadprogress \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --enable-uploadprogress \
|
&& ./configure --enable-uploadprogress \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& cd / && rm -rf /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug \
|
&& pecl install xdebug \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -292,6 +522,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -318,24 +550,34 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -344,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$' \
|
||||||
@@ -359,11 +605,14 @@ 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -376,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$' \
|
||||||
@@ -396,6 +649,8 @@ RUN set -x \
|
|||||||
&& php-fpm -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-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php -m | grep -oiE '^xmlwriter$' \
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
|||||||
@@ -18,95 +18,76 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
librabbitmq-dev \
|
alien \
|
||||||
libbz2-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libwebp-dev \
|
|
||||||
libgmp-dev \
|
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
libicu-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
firebird-dev \
|
libicu-dev \
|
||||||
zlib1g-dev \
|
libjpeg-dev \
|
||||||
libpq-dev \
|
libkrb5-dev \
|
||||||
libsqlite3-dev \
|
libldap2-dev \
|
||||||
libpq-dev \
|
libmagickwand-dev \
|
||||||
libssl-dev \
|
libmcrypt-dev \
|
||||||
libpspell-dev \
|
libmemcached-dev \
|
||||||
libedit-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
librabbitmq4 \
|
libaio1 \
|
||||||
libenchant1c2a \
|
libaspell15 \
|
||||||
libpng16-16 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx4 \
|
|
||||||
libfreetype6 \
|
|
||||||
libwebp6 \
|
|
||||||
libmagickwand-6.q16-3 \
|
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
|
||||||
librecode0 \
|
|
||||||
snmp \
|
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -114,11 +95,13 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: ioncube ----
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
@@ -129,148 +112,393 @@ RUN set -x \
|
|||||||
&& rm -rf ioncube \
|
&& rm -rf ioncube \
|
||||||
&& rm -rf ioncube.tar.gz \
|
&& rm -rf ioncube.tar.gz \
|
||||||
\
|
\
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: amqp ----
|
||||||
&& echo "/usr" | pecl install amqp \
|
&& echo "/usr" | pecl install amqp \
|
||||||
&& 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/doc/amqp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu \
|
&& pecl install apcu \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mcrypt ----
|
||||||
&& pecl install mcrypt-1.0.1 \
|
&& pecl install mcrypt-1.0.1 \
|
||||||
&& docker-php-ext-enable mcrypt \
|
&& docker-php-ext-enable mcrypt \
|
||||||
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
|
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
||||||
&& cd /tmp/memcache \
|
&& cd /tmp/memcache \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
&& ./configure --with-zlib-dir=/usr \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& cd / && rm -rf /tmp/memcache \
|
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
&& pecl install memcached \
|
&& pecl install memcached \
|
||||||
&& 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/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb \
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& pecl install msgpack \
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
&& docker-php-ext-enable msgpack \
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/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 \
|
&& 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 \
|
||||||
&& cd / && rm -rf /tmp/phalcon \
|
&& (rm -rf /usr/local/lib/php/test/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
&& (rm -rf /usr/local/lib/php/doc/phalcon || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& pecl install swoole \
|
&& pecl install swoole \
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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 ----
|
||||||
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
|
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
&& cd /tmp/uploadprogress \
|
&& cd /tmp/uploadprogress \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --enable-uploadprogress \
|
&& ./configure --enable-uploadprogress \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& cd / && rm -rf /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xdebug ----
|
||||||
&& pecl install xdebug \
|
&& pecl install xdebug \
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
@@ -295,6 +523,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -321,24 +551,34 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -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 '^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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -347,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$' \
|
||||||
@@ -362,11 +606,14 @@ 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -381,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$' \
|
||||||
@@ -401,6 +652,8 @@ RUN set -x \
|
|||||||
&& php-fpm -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-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php -m | grep -oiE '^xmlwriter$' \
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
|||||||
@@ -18,95 +18,75 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
libbz2-dev \
|
alien \
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libenchant-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libxpm-dev \
|
|
||||||
libvpx-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libwebp-dev \
|
|
||||||
libgmp-dev \
|
|
||||||
libmagickwand-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
|
||||||
libicu-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
libmcrypt-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libmemcached-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
freetds-dev \
|
|
||||||
libfbclient2 \
|
|
||||||
libib-util \
|
|
||||||
firebird-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libpspell-dev \
|
|
||||||
libedit-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
librecode-dev \
|
|
||||||
libmm-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libsnmp-dev \
|
|
||||||
snmp \
|
|
||||||
libxml2-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
libnghttp2-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libhiredis-dev \
|
|
||||||
cmake \
|
cmake \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libhiredis-dev \
|
||||||
|
libib-util \
|
||||||
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxml2-dev \
|
libxpm-dev \
|
||||||
libxml2-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
zlib1g-dev \
|
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
libenchant1c2a \
|
libaio1 \
|
||||||
libpng16-16 \
|
|
||||||
libjpeg62-turbo \
|
|
||||||
libxpm4 \
|
|
||||||
libvpx4 \
|
|
||||||
libfreetype6 \
|
|
||||||
libwebp6 \
|
|
||||||
libmagickwand-6.q16-3 \
|
|
||||||
libc-client2007e \
|
|
||||||
libfbclient2 \
|
|
||||||
libicu57 \
|
|
||||||
libmcrypt4 \
|
|
||||||
libmemcachedutil2 \
|
|
||||||
libsybdb5 \
|
|
||||||
libfbclient2 \
|
|
||||||
libpq5 \
|
|
||||||
libpq5 \
|
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
librecode0 \
|
libc-client2007e \
|
||||||
snmp \
|
libenchant1c2a \
|
||||||
libnghttp2-14 \
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
libhiredis0.13 \
|
libhiredis0.13 \
|
||||||
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
@@ -114,172 +94,386 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# ---- Installing PHP Extension: apcu ----
|
||||||
&& pecl install apcu \
|
&& pecl install apcu \
|
||||||
&& docker-php-ext-enable apcu \
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/apcu || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/apcu || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
&& pecl install igbinary \
|
&& 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/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imagick ----
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick \
|
&& 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 ----
|
||||||
&& 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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& pecl install mcrypt-1.0.1 \
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
&& docker-php-ext-enable mcrypt \
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
&& git clone -v https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
\
|
||||||
&& cd /tmp/memcached \
|
# ---- Installing PHP Extension: msgpack ----
|
||||||
&& git checkout master \
|
&& pecl install msgpack \
|
||||||
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
&& 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: memcached ----
|
||||||
|
&& pecl install memcached \
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& cd / && rm -rf /tmp/memcached \
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb \
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/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 ----
|
||||||
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- 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 \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /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 \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
&& (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 ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
&& git clone -v https://github.com/swoole/swoole-src /tmp/swoole \
|
&& (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 ----
|
||||||
|
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
|
||||||
&& cd /tmp/swoole \
|
&& cd /tmp/swoole \
|
||||||
&& git checkout master \
|
&& git checkout master \
|
||||||
&& git submodule update --init --recursive \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
&& cd thirdparty/hiredis \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
&& cd ../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 \
|
||||||
\
|
\
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& cd / && rm -rf /tmp/swoole \
|
&& (rm -rf /usr/local/lib/php/test/swoole || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/swoole || true) \
|
||||||
|
\
|
||||||
|
# ---- 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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
|
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
&& cd /tmp/uploadprogress \
|
&& cd /tmp/uploadprogress \
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure --enable-uploadprogress \
|
&& ./configure --enable-uploadprogress \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& cd / && rm -rf /tmp/uploadprogress \
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
&& (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 ----
|
||||||
&& /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 \
|
||||||
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
\
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
&& php-fpm -m | grep -oiE '^apcu$' \
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -302,6 +496,8 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
&& php -m | grep -oiE '^ftp$' \
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
&& php-fpm -m | grep -oiE '^ftp$' \
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
&& php -m | grep -oiE '^gd$' \
|
&& php -m | grep -oiE '^gd$' \
|
||||||
@@ -328,18 +524,30 @@ RUN set -x \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongodb$' \
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
&& 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-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-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -348,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$' \
|
||||||
@@ -361,11 +575,14 @@ 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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& 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$' \
|
||||||
@@ -380,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$' \
|
||||||
@@ -396,8 +617,12 @@ 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-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
&& php -m | grep -oiE '^xmlwriter$' \
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
|||||||
584
Dockerfiles/mods/Dockerfile-7.4
Normal file
584
Dockerfiles/mods/Dockerfile-7.4
Normal file
@@ -0,0 +1,584 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:7.4-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.4-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
alien \
|
||||||
|
cmake \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libaio-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libhiredis-dev \
|
||||||
|
libib-util \
|
||||||
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
zlib1g-dev \
|
||||||
|
ca-certificates \
|
||||||
|
git
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libaio1 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libenchant1c2a \
|
||||||
|
libfbclient2 \
|
||||||
|
libfreetype6 \
|
||||||
|
libhiredis0.13 \
|
||||||
|
libicu57 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
libnghttp2-14 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librdkafka1 \
|
||||||
|
librecode0 \
|
||||||
|
libsybdb5 \
|
||||||
|
libtidy5 \
|
||||||
|
libvpx4 \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
|
libxslt1.1 \
|
||||||
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& 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 \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: bcmath ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/bz2 || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: calendar ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: dba ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/dba || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: enchant ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: exif ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/exif || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gd ----
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gd || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gettext ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: gmp ----
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: igbinary ----
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/igbinary || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/igbinary || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: imap ----
|
||||||
|
&& 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-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/imap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: interbase ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: intl ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/intl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: ldap ----
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: memcached ----
|
||||||
|
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
||||||
|
&& cd /tmp/memcached \
|
||||||
|
&& git checkout master \
|
||||||
|
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: mongodb ----
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/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 ----
|
||||||
|
&& /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/doc/opcache || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pcntl ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_dblib ----
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_firebird ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: pdo_mysql ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/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 ----
|
||||||
|
&& /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/doc/pdo_pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/pgsql || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: 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/doc/pspell || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: recode ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/recode || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: redis ----
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
&& phpize \
|
||||||
|
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
|
||||||
|
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
|
||||||
|
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
|
||||||
|
&& ./configure \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/redis || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: rdkafka ----
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: shmop ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: snmp ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: soap ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/soap || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sockets ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: swoole ----
|
||||||
|
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
|
||||||
|
&& cd /tmp/swoole \
|
||||||
|
&& git checkout master \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure \
|
||||||
|
--enable-openssl \
|
||||||
|
--enable-sockets \
|
||||||
|
--enable-http2 \
|
||||||
|
--enable-mysqlnd \
|
||||||
|
--enable-coroutine-postgresql \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
&& 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 ----
|
||||||
|
&& /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/doc/sysvmsg || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvsem ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: sysvshm ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: tidy ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: uploadprogress ----
|
||||||
|
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
|
&& cd /tmp/uploadprogress \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-uploadprogress \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: wddx ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
|
||||||
|
\
|
||||||
|
# ---- 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-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: xsl ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
|
||||||
|
\
|
||||||
|
# ---- Installing PHP Extension: zip ----
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/zip || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
|
||||||
|
\
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& update-ca-certificates \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -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-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^openssl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -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-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -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-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -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-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,10 +45,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -57,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
|
||||||
|
|
||||||
|
|||||||
90
Dockerfiles/prod/Dockerfile-7.4
Normal file
90
Dockerfiles/prod/Dockerfile-7.4
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:7.4-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.4-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& 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 \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -69,6 +69,9 @@ set_postfix() {
|
|||||||
run "chown ${username}:${groupname} /var/mail" "${debug}"
|
run "chown ${username}:${groupname} /var/mail" "${debug}"
|
||||||
run "chown ${username}:${groupname} /var/mail/${username}" "${debug}"
|
run "chown ${username}:${groupname} /var/mail/${username}" "${debug}"
|
||||||
|
|
||||||
|
# warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
|
||||||
|
run "postconf -e 'strict_mailbox_ownership=no'" "${debug}"
|
||||||
|
|
||||||
# Postfix configuration
|
# Postfix configuration
|
||||||
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
||||||
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
||||||
@@ -27,10 +27,11 @@ enable_modules() {
|
|||||||
|
|
||||||
if [ -z "${mods}" ]; then
|
if [ -z "${mods}" ]; then
|
||||||
log "info" "\$${mod_varname} set, but empty. Not enabling any PHP modules." "${debug}"
|
log "info" "\$${mod_varname} set, but empty. Not enabling any PHP modules." "${debug}"
|
||||||
else
|
return 0
|
||||||
log "info" "Enabling the following PHP modules: ${mods}" "${debug}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
log "info" "Enabling the following PHP modules: ${mods}" "${debug}"
|
||||||
|
|
||||||
while read -r mod; do
|
while read -r mod; do
|
||||||
mod="$( echo "${mod}" | xargs )" # trim
|
mod="$( echo "${mod}" | xargs )" # trim
|
||||||
|
|
||||||
@@ -24,10 +24,11 @@ disable_modules() {
|
|||||||
|
|
||||||
if [ -z "${mods}" ]; then
|
if [ -z "${mods}" ]; then
|
||||||
log "info" "\$${mod_varname} set, but empty. Not disabling any PHP modules." "${debug}"
|
log "info" "\$${mod_varname} set, but empty. Not disabling any PHP modules." "${debug}"
|
||||||
else
|
return 0
|
||||||
log "info" "Disabling the following PHP modules: ${mods}" "${debug}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
log "info" "Disabling the following PHP modules: ${mods}" "${debug}"
|
||||||
|
|
||||||
while read -r mod; do
|
while read -r mod; do
|
||||||
mod="$( echo "${mod}" | xargs )" # trim
|
mod="$( echo "${mod}" | xargs )" # trim
|
||||||
|
|
||||||
49
Dockerfiles/prod/data/docker-entrypoint.d/310-custom-startup-scripts.sh
Executable file
49
Dockerfiles/prod/data/docker-entrypoint.d/310-custom-startup-scripts.sh
Executable 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
|
||||||
@@ -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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,20 +100,33 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -115,12 +138,14 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# gitflow
|
# gitflow
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
@@ -129,7 +154,10 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# linkcheck
|
# linkcheck
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /usr/local/bin/linkcheck \
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
@@ -143,13 +171,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -174,21 +201,30 @@ 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
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -198,6 +234,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -207,10 +244,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -237,10 +280,20 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
@@ -258,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]+' \
|
||||||
@@ -280,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,35 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +140,31 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# drush7
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
&& cd /usr/local/src/drush \
|
&& cd /usr/local/src/drush7 \
|
||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
|
||||||
\
|
\
|
||||||
# gitflow
|
# gitflow
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
@@ -149,7 +173,10 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# linkcheck
|
# linkcheck
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /usr/local/bin/linkcheck \
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
@@ -163,13 +190,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -205,28 +231,41 @@ 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
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -236,6 +275,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -245,10 +285,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -275,10 +321,20 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
@@ -291,7 +347,7 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
||||||
@@ -300,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]+' \
|
||||||
@@ -324,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,35 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +140,47 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
\
|
\
|
||||||
# gitflow
|
# gitflow
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
@@ -149,14 +189,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout v1.3.7 \
|
&& git checkout v1.3.7 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -173,13 +216,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -215,31 +257,44 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -249,6 +304,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -258,10 +314,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -288,10 +350,20 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
@@ -304,7 +376,9 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||||
@@ -314,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]+' \
|
||||||
@@ -339,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,47 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +196,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout v2.0.0 \
|
&& git checkout v2.0.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +223,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -218,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 \
|
||||||
@@ -233,20 +283,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -256,6 +315,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -265,10 +325,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -295,14 +361,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -311,7 +388,9 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -322,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]+' \
|
||||||
@@ -348,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,60 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +209,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout v2.0.0 \
|
&& git checkout v2.0.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +236,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -218,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 \
|
||||||
@@ -233,20 +296,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -256,6 +328,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -265,10 +338,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -295,14 +374,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -311,7 +401,10 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -322,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]+' \
|
||||||
@@ -348,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,60 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +209,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout v2.0.0 \
|
&& git checkout v2.0.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +236,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -218,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 \
|
||||||
@@ -233,20 +296,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -256,6 +328,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -265,10 +338,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -295,14 +374,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -311,7 +401,10 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -322,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]+' \
|
||||||
@@ -348,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,60 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +209,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +236,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -218,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 \
|
||||||
@@ -233,20 +296,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -256,6 +328,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -265,10 +338,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -295,14 +374,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -311,7 +401,10 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -322,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]+' \
|
||||||
@@ -348,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,60 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +209,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +236,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -218,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 \
|
||||||
@@ -233,20 +296,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -256,6 +328,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -265,10 +338,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -295,14 +374,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -311,7 +401,10 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -322,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]+' \
|
||||||
@@ -348,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
|
||||||
|
|||||||
@@ -24,43 +24,51 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
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 \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -77,12 +85,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -90,22 +100,39 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
# composer
|
# composer
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
# ansible
|
# ansible
|
||||||
&& pip install --upgrade setuptools \
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
&& pip install ansible \
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
\
|
\
|
||||||
# awesomeci
|
# awesomeci
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -117,30 +144,60 @@ 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 \
|
||||||
&& npm install -g eslint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
||||||
&& npm install -g jsonlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
||||||
&& npm install -g mdlint \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
&& npm install -g gulp \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
\
|
\
|
||||||
# codeception
|
# codeception
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
\
|
\
|
||||||
# drush
|
# deployer
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& cd /usr/local/src/drush \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
\
|
\
|
||||||
# drupalconsole
|
# drupalconsole
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
@@ -152,14 +209,17 @@ RUN set -x \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
# grunt
|
||||||
&& npm install -g grunt grunt-cli \
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# laravel
|
# laravel
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
@@ -176,13 +236,12 @@ RUN set -x \
|
|||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
\
|
\
|
||||||
# mhsendmail
|
# mhsendmail
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
# mysqldumpsecure
|
# mysqldumpsecure
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
@@ -207,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 \
|
||||||
@@ -222,20 +285,29 @@ 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
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
# webpack
|
||||||
&& npm install -g webpack webpack-cli \
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
# wpcli
|
# wpcli
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
# yamllint
|
||||||
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& pip install yamllint \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
# cleanup
|
# cleanup
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
@@ -245,6 +317,7 @@ RUN set -x \
|
|||||||
&& rm -rf /home/${MY_USER}/.gem \
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.*json \
|
&& rm -rf /root/.*json \
|
||||||
&& rm -rf /root/.cache \
|
&& rm -rf /root/.cache \
|
||||||
@@ -254,10 +327,16 @@ RUN set -x \
|
|||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /root/.npm \
|
&& rm -rf /root/.npm \
|
||||||
&& rm -rf /root/.subversion \
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -284,14 +363,25 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
@@ -300,7 +390,10 @@ RUN set -x \
|
|||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
&& drush --version | grep -E '[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
@@ -310,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]+' \
|
||||||
@@ -336,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
|
||||||
|
|||||||
449
Dockerfiles/work/Dockerfile-7.4
Normal file
449
Dockerfiles/work/Dockerfile-7.4
Normal file
@@ -0,0 +1,449 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:7.4-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.4-work" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& 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 \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
graphviz \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev\
|
||||||
|
libssl-dev\
|
||||||
|
libyaml-dev \
|
||||||
|
make \
|
||||||
|
mongodb-org-shell \
|
||||||
|
mongodb-org-tools \
|
||||||
|
moreutils \
|
||||||
|
mysql-client \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
nodejs \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
postgresql-client \
|
||||||
|
python-cffi \
|
||||||
|
python-dev \
|
||||||
|
python-pip \
|
||||||
|
python-wheel \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
|
xz-utils \
|
||||||
|
yarn \
|
||||||
|
zsh \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
# composer
|
||||||
|
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
# ansible
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
||||||
|
\
|
||||||
|
# asgardcms
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/asgardcms \
|
||||||
|
\
|
||||||
|
# awesomeci
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
&& gem install mdl \
|
||||||
|
&& 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 jsonlint \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
|
# codeception
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
|
\
|
||||||
|
# deployer
|
||||||
|
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
# drush7
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
|
&& cd /usr/local/src/drush7 \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
|
\
|
||||||
|
# drush8
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
|
&& cd /usr/local/src/drush8 \
|
||||||
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
|
\
|
||||||
|
# drush9
|
||||||
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
|
||||||
|
&& cd /usr/local/src/drush9 \
|
||||||
|
&& 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 \
|
||||||
|
&& 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 \
|
||||||
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
|
\
|
||||||
|
# drupalconsole
|
||||||
|
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||||
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
|
# gitflow
|
||||||
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
# grunt
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt; do sleep 1; done \
|
||||||
|
&& until yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli; do sleep 1; done \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
|
# laravel
|
||||||
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
|
&& cd /usr/local/src/laravel-installer \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
|
\
|
||||||
|
# linkcheck
|
||||||
|
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
# linuxbrew
|
||||||
|
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
|
\
|
||||||
|
# mhsendmail
|
||||||
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
|
\
|
||||||
|
# mysqldumpsecure
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
# phpcs
|
||||||
|
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
# phpcbf
|
||||||
|
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
# phpunit
|
||||||
|
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
|
\
|
||||||
|
# photon
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
# pm2
|
||||||
|
&& until npm install pm2 -g; do sleep 1; done \
|
||||||
|
# sass
|
||||||
|
&& gem install sass \
|
||||||
|
# symfony
|
||||||
|
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
# webpack
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
||||||
|
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
||||||
|
&& rm -rf /tmp/y \
|
||||||
|
\
|
||||||
|
# wpcli
|
||||||
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
# yamllint
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# cleanup
|
||||||
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
|
&& rm -rf /home/${MY_USER}/.composer \
|
||||||
|
&& rm -rf /home/${MY_USER}/.config \
|
||||||
|
&& rm -rf /home/${MY_USER}/.drush \
|
||||||
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.*json \
|
||||||
|
&& rm -rf /root/.cache \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.config \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.gem \
|
||||||
|
&& rm -rf /root/.npm \
|
||||||
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||||
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
||||||
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
|
\
|
||||||
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||||
|
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
||||||
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
|
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
||||||
|
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||||
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
|
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
||||||
|
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
||||||
|
&& photon --version | grep -E 'Installer [.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[.0-9]+' \
|
||||||
|
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[.0-9]+' \
|
||||||
|
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-7.4.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-7.4.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||||
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /shared/backups
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Where to start inside the container
|
||||||
|
###
|
||||||
|
WORKDIR /shared/httpd
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -19,7 +19,7 @@ _clr_usr='\[\e[0;31m\]'
|
|||||||
_clr_ver='\[\e[0;36m\]'
|
_clr_ver='\[\e[0;36m\]'
|
||||||
_clr_dir='\[\e[0;34m\]'
|
_clr_dir='\[\e[0;34m\]'
|
||||||
_clr_off='\[\e[0m\]'
|
_clr_off='\[\e[0m\]'
|
||||||
PS1_PHP="$( php -v 2>/dev/null | grep -Eo '^PHP\s([-_.a-z0-9])+' )"
|
PS1_PHP="$( php -v 2>/dev/null | grep -Eo '^PHP\s([-_.a-zA-Z0-9])+' )"
|
||||||
PS1_PHP="${PS1_PHP//PHP[[:space:]]}"
|
PS1_PHP="${PS1_PHP//PHP[[:space:]]}"
|
||||||
PS1_USR="$( whoami )"
|
PS1_USR="$( whoami )"
|
||||||
PS1="${_clr_usr}${PS1_USR}${_clr_off}@${_clr_ver}php-${PS1_PHP}${_clr_off} in ${_clr_dir}\w${_clr_off} \$ "
|
PS1="${_clr_usr}${PS1_USR}${_clr_off}@${_clr_ver}php-${PS1_PHP}${_clr_off} in ${_clr_dir}\w${_clr_off} \$ "
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
<value name="listen_options">
|
<value name="listen_options">
|
||||||
Set listen(2) backlog
|
Set listen(2) backlog
|
||||||
<value name="backlog">128</value>
|
<value name="backlog">1024</value>
|
||||||
Set permissions for unix socket, if one used.
|
Set permissions for unix socket, if one used.
|
||||||
In Linux read/write permissions must be set in order to allow connections from web server.
|
In Linux read/write permissions must be set in order to allow connections from web server.
|
||||||
Many BSD-derrived systems allow connections regardless of permissions.
|
Many BSD-derrived systems allow connections regardless of permissions.
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ access.log = /proc/self/fd/2
|
|||||||
|
|
||||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
; are silently truncated
|
; are silently truncated
|
||||||
listen.backlog = 128
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
; ############################################################
|
; ############################################################
|
||||||
|
|||||||
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-7.4.conf
Normal file
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-7.4.conf
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings can be overwritten by later includes
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Timeouts
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; The timeout for serving a single request after which the worker process will be killed.
|
||||||
|
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||||
|
; execution for some reason.
|
||||||
|
request_terminate_timeout = 120s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Logging
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
log_level = notice
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; if we send this to /proc/self/fd/1, it never appears
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Backlog configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; A maximum of backlog incoming connections will be queued for processing.
|
||||||
|
; If a connection request arrives with the queue full the client may receive an error with an
|
||||||
|
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||||
|
; the request may be ignored so that retries may succeed.
|
||||||
|
|
||||||
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
|
; are silently truncated
|
||||||
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Worker configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; static - the number of child processes is fixed (pm.max_children).
|
||||||
|
;
|
||||||
|
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||||
|
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||||
|
;
|
||||||
|
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||||
|
; pm.start_servers are started when the service is started.
|
||||||
|
pm = ondemand
|
||||||
|
|
||||||
|
; The maximum number of child processes to be created
|
||||||
|
pm.max_children = 50
|
||||||
|
|
||||||
|
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||||
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||||
|
pm.start_servers = 4
|
||||||
|
|
||||||
|
; The desired minimum number of idle server processes.
|
||||||
|
pm.min_spare_servers = 2
|
||||||
|
|
||||||
|
; The desired maximum number of idle server processes.
|
||||||
|
pm.max_spare_servers = 6
|
||||||
|
|
||||||
|
; The number of requests each child process should execute before respawning.
|
||||||
|
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||||
|
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||||
|
; Default value: 0.
|
||||||
|
pm.max_requests = 500
|
||||||
|
|
||||||
|
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||||
|
pm.process_idle_timeout = 10s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Include
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
|
||||||
|
[global]
|
||||||
|
include = /usr/local/etc/php-fpm.d/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings overwrite any includes again
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Required for Dockerization
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Keep env variables set by docker
|
||||||
|
clear_env = no
|
||||||
|
|
||||||
|
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||||
|
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||||
|
; Note: on highloaded environement, this can cause some delay in the page
|
||||||
|
; process time (several ms).
|
||||||
|
; Default Value: no
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; User and Group
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
user = devilbox
|
||||||
|
group = devilbox
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Networking
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Ensure to listen here
|
||||||
|
listen = 9000
|
||||||
49
Dockerfiles/work/data/php-ini.d/php-7.4.ini
Normal file
49
Dockerfiles/work/data/php-ini.d/php-7.4.ini
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 7.4-work
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = On
|
||||||
|
display_startup_errors = On
|
||||||
|
log_errors = On
|
||||||
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.default_enable = Off
|
||||||
|
xdebug.profiler_enable = Off
|
||||||
|
xdebug.remote_enable = Off
|
||||||
|
xdebug.remote_autostart = Off
|
||||||
76
Makefile
76
Makefile
@@ -36,6 +36,7 @@ help:
|
|||||||
@printf "%s\n" "make build-base-71: Build PHP 7.1 base image"
|
@printf "%s\n" "make build-base-71: Build PHP 7.1 base image"
|
||||||
@printf "%s\n" "make build-base-72: Build PHP 7.2 base image"
|
@printf "%s\n" "make build-base-72: Build PHP 7.2 base image"
|
||||||
@printf "%s\n" "make build-base-73: Build PHP 7.3 base image"
|
@printf "%s\n" "make build-base-73: Build PHP 7.3 base image"
|
||||||
|
@printf "%s\n" "make build-base-74: Build PHP 7.4 base image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make build-mods-52: Build PHP 5.2 mods image"
|
@printf "%s\n" "make build-mods-52: Build PHP 5.2 mods image"
|
||||||
@printf "%s\n" "make build-mods-53: Build PHP 5.3 mods image"
|
@printf "%s\n" "make build-mods-53: Build PHP 5.3 mods image"
|
||||||
@@ -46,6 +47,7 @@ help:
|
|||||||
@printf "%s\n" "make build-mods-71: Build PHP 7.1 mods image"
|
@printf "%s\n" "make build-mods-71: Build PHP 7.1 mods image"
|
||||||
@printf "%s\n" "make build-mods-72: Build PHP 7.2 mods image"
|
@printf "%s\n" "make build-mods-72: Build PHP 7.2 mods image"
|
||||||
@printf "%s\n" "make build-mods-73: Build PHP 7.3 mods image"
|
@printf "%s\n" "make build-mods-73: Build PHP 7.3 mods image"
|
||||||
|
@printf "%s\n" "make build-mods-74: Build PHP 7.4 mods image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make build-prod-52: Build PHP 5.2 prod image"
|
@printf "%s\n" "make build-prod-52: Build PHP 5.2 prod image"
|
||||||
@printf "%s\n" "make build-prod-53: Build PHP 5.3 prod image"
|
@printf "%s\n" "make build-prod-53: Build PHP 5.3 prod image"
|
||||||
@@ -56,6 +58,7 @@ help:
|
|||||||
@printf "%s\n" "make build-prod-71: Build PHP 7.1 prod image"
|
@printf "%s\n" "make build-prod-71: Build PHP 7.1 prod image"
|
||||||
@printf "%s\n" "make build-prod-72: Build PHP 7.2 prod image"
|
@printf "%s\n" "make build-prod-72: Build PHP 7.2 prod image"
|
||||||
@printf "%s\n" "make build-prod-73: Build PHP 7.3 prod image"
|
@printf "%s\n" "make build-prod-73: Build PHP 7.3 prod image"
|
||||||
|
@printf "%s\n" "make build-prod-74: Build PHP 7.4 prod image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make build-work-52: Build PHP 5.2 work image"
|
@printf "%s\n" "make build-work-52: Build PHP 5.2 work image"
|
||||||
@printf "%s\n" "make build-work-53: Build PHP 5.3 work image"
|
@printf "%s\n" "make build-work-53: Build PHP 5.3 work image"
|
||||||
@@ -66,6 +69,7 @@ help:
|
|||||||
@printf "%s\n" "make build-work-71: Build PHP 7.1 work image"
|
@printf "%s\n" "make build-work-71: Build PHP 7.1 work image"
|
||||||
@printf "%s\n" "make build-work-72: Build PHP 7.2 work image"
|
@printf "%s\n" "make build-work-72: Build PHP 7.2 work image"
|
||||||
@printf "%s\n" "make build-work-73: Build PHP 7.3 work image"
|
@printf "%s\n" "make build-work-73: Build PHP 7.3 work image"
|
||||||
|
@printf "%s\n" "make build-work-74: Build PHP 7.4 work image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make rebuild-base-52: Build PHP 5.2 base image"
|
@printf "%s\n" "make rebuild-base-52: Build PHP 5.2 base image"
|
||||||
@printf "%s\n" "make rebuild-base-53: Build PHP 5.3 base image"
|
@printf "%s\n" "make rebuild-base-53: Build PHP 5.3 base image"
|
||||||
@@ -76,6 +80,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-base-71: Build PHP 7.1 base image"
|
@printf "%s\n" "make rebuild-base-71: Build PHP 7.1 base image"
|
||||||
@printf "%s\n" "make rebuild-base-72: Build PHP 7.2 base image"
|
@printf "%s\n" "make rebuild-base-72: Build PHP 7.2 base image"
|
||||||
@printf "%s\n" "make rebuild-base-73: Build PHP 7.3 base image"
|
@printf "%s\n" "make rebuild-base-73: Build PHP 7.3 base image"
|
||||||
|
@printf "%s\n" "make rebuild-base-74: Build PHP 7.4 base image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make rebuild-mods-52: Build PHP 5.2 mods image"
|
@printf "%s\n" "make rebuild-mods-52: Build PHP 5.2 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-53: Build PHP 5.3 mods image"
|
@printf "%s\n" "make rebuild-mods-53: Build PHP 5.3 mods image"
|
||||||
@@ -86,6 +91,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-mods-71: Build PHP 7.1 mods image"
|
@printf "%s\n" "make rebuild-mods-71: Build PHP 7.1 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-72: Build PHP 7.2 mods image"
|
@printf "%s\n" "make rebuild-mods-72: Build PHP 7.2 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-73: Build PHP 7.3 mods image"
|
@printf "%s\n" "make rebuild-mods-73: Build PHP 7.3 mods image"
|
||||||
|
@printf "%s\n" "make rebuild-mods-74: Build PHP 7.4 mods image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make rebuild-prod-52: Build PHP 5.2 prod image"
|
@printf "%s\n" "make rebuild-prod-52: Build PHP 5.2 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-53: Build PHP 5.3 prod image"
|
@printf "%s\n" "make rebuild-prod-53: Build PHP 5.3 prod image"
|
||||||
@@ -96,6 +102,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-prod-71: Build PHP 7.1 prod image"
|
@printf "%s\n" "make rebuild-prod-71: Build PHP 7.1 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-72: Build PHP 7.2 prod image"
|
@printf "%s\n" "make rebuild-prod-72: Build PHP 7.2 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-73: Build PHP 7.3 prod image"
|
@printf "%s\n" "make rebuild-prod-73: Build PHP 7.3 prod image"
|
||||||
|
@printf "%s\n" "make rebuild-prod-74: Build PHP 7.4 prod image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make rebuild-work-52: Build PHP 5.2 work image"
|
@printf "%s\n" "make rebuild-work-52: Build PHP 5.2 work image"
|
||||||
@printf "%s\n" "make rebuild-work-53: Build PHP 5.3 work image"
|
@printf "%s\n" "make rebuild-work-53: Build PHP 5.3 work image"
|
||||||
@@ -106,6 +113,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-work-71: Build PHP 7.1 work image"
|
@printf "%s\n" "make rebuild-work-71: Build PHP 7.1 work image"
|
||||||
@printf "%s\n" "make rebuild-work-72: Build PHP 7.2 work image"
|
@printf "%s\n" "make rebuild-work-72: Build PHP 7.2 work image"
|
||||||
@printf "%s\n" "make rebuild-work-73: Build PHP 7.3 work image"
|
@printf "%s\n" "make rebuild-work-73: Build PHP 7.3 work image"
|
||||||
|
@printf "%s\n" "make rebuild-work-74: Build PHP 7.4 work image"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -141,15 +149,15 @@ rebuild-all: rebuild-base rebuild-mods rebuild-prod rebuild-work
|
|||||||
###
|
###
|
||||||
### Build categories
|
### Build categories
|
||||||
###
|
###
|
||||||
build-base: build-base-52 build-base-53 build-base-54 build-base-55 build-base-56 build-base-70 build-base-71 build-base-72 build-base-73
|
build-base: build-base-52 build-base-53 build-base-54 build-base-55 build-base-56 build-base-70 build-base-71 build-base-72 build-base-73 build-base-74
|
||||||
build-mods: build-mods-52 build-mods-53 build-mods-54 build-mods-55 build-mods-56 build-mods-70 build-mods-71 build-mods-72 build-mods-73
|
build-mods: build-mods-52 build-mods-53 build-mods-54 build-mods-55 build-mods-56 build-mods-70 build-mods-71 build-mods-72 build-mods-73 build-mods-74
|
||||||
build-prod: build-prod-52 build-prod-53 build-prod-54 build-prod-55 build-prod-56 build-prod-70 build-prod-71 build-prod-72 build-prod-73
|
build-prod: build-prod-52 build-prod-53 build-prod-54 build-prod-55 build-prod-56 build-prod-70 build-prod-71 build-prod-72 build-prod-73 build-prod-74
|
||||||
build-work: build-work-52 build-work-53 build-work-54 build-work-55 build-work-56 build-work-70 build-work-71 build-work-72 build-work-73
|
build-work: build-work-52 build-work-53 build-work-54 build-work-55 build-work-56 build-work-70 build-work-71 build-work-72 build-work-73 build-work-74
|
||||||
|
|
||||||
rebuild-base: rebuild-base-52 rebuild-base-53 rebuild-base-54 rebuild-base-55 rebuild-base-56 rebuild-base-70 rebuild-base-71 rebuild-base-72 rebuild-base-73
|
rebuild-base: rebuild-base-52 rebuild-base-53 rebuild-base-54 rebuild-base-55 rebuild-base-56 rebuild-base-70 rebuild-base-71 rebuild-base-72 rebuild-base-73 rebuild-base-74
|
||||||
rebuild-mods: rebuild-mods-52 rebuild-mods-53 rebuild-mods-54 rebuild-mods-55 rebuild-mods-56 rebuild-mods-70 rebuild-mods-71 rebuild-mods-72 rebuild-mods-73
|
rebuild-mods: rebuild-mods-52 rebuild-mods-53 rebuild-mods-54 rebuild-mods-55 rebuild-mods-56 rebuild-mods-70 rebuild-mods-71 rebuild-mods-72 rebuild-mods-73 rebuild-mods-74
|
||||||
rebuild-prod: rebuild-prod-52 rebuild-prod-53 rebuild-prod-54 rebuild-prod-55 rebuild-prod-56 rebuild-prod-70 rebuild-prod-71 rebuild-prod-72 rebuild-prod-73
|
rebuild-prod: rebuild-prod-52 rebuild-prod-53 rebuild-prod-54 rebuild-prod-55 rebuild-prod-56 rebuild-prod-70 rebuild-prod-71 rebuild-prod-72 rebuild-prod-73 rebuild-prod-74
|
||||||
rebuild-work: rebuild-work-52 rebuild-work-53 rebuild-work-54 rebuild-work-55 rebuild-work-56 rebuild-work-70 rebuild-work-71 rebuild-work-72 rebuild-work-73
|
rebuild-work: rebuild-work-52 rebuild-work-53 rebuild-work-54 rebuild-work-55 rebuild-work-56 rebuild-work-70 rebuild-work-71 rebuild-work-72 rebuild-work-73 rebuild-work-74
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -174,6 +182,8 @@ build-base-72: pull-from-72
|
|||||||
docker build -t devilbox/php-fpm:7.2-base -f $(location)/base/Dockerfile-7.2 $(location)/base
|
docker build -t devilbox/php-fpm:7.2-base -f $(location)/base/Dockerfile-7.2 $(location)/base
|
||||||
build-base-73: pull-from-73
|
build-base-73: pull-from-73
|
||||||
docker build -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
docker build -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
||||||
|
build-base-74: pull-from-74
|
||||||
|
docker build -t devilbox/php-fpm:7.4-base -f $(location)/base/Dockerfile-7.4 $(location)/base
|
||||||
|
|
||||||
build-mods-52:
|
build-mods-52:
|
||||||
docker build -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
docker build -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
||||||
@@ -193,6 +203,8 @@ build-mods-72:
|
|||||||
docker build -t devilbox/php-fpm:7.2-mods -f $(location)/mods/Dockerfile-7.2 $(location)/mods
|
docker build -t devilbox/php-fpm:7.2-mods -f $(location)/mods/Dockerfile-7.2 $(location)/mods
|
||||||
build-mods-73:
|
build-mods-73:
|
||||||
docker build -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
docker build -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
||||||
|
build-mods-74:
|
||||||
|
docker build -t devilbox/php-fpm:7.4-mods -f $(location)/mods/Dockerfile-7.4 $(location)/mods
|
||||||
|
|
||||||
build-prod-52:
|
build-prod-52:
|
||||||
docker build -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
docker build -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
||||||
@@ -212,6 +224,8 @@ build-prod-72:
|
|||||||
docker build -t devilbox/php-fpm:7.2-prod -f $(location)/prod/Dockerfile-7.2 $(location)/prod
|
docker build -t devilbox/php-fpm:7.2-prod -f $(location)/prod/Dockerfile-7.2 $(location)/prod
|
||||||
build-prod-73:
|
build-prod-73:
|
||||||
docker build -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
docker build -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
||||||
|
build-prod-74:
|
||||||
|
docker build -t devilbox/php-fpm:7.4-prod -f $(location)/prod/Dockerfile-7.4 $(location)/prod
|
||||||
|
|
||||||
build-work-52:
|
build-work-52:
|
||||||
docker build -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
docker build -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
||||||
@@ -231,6 +245,8 @@ build-work-72:
|
|||||||
docker build -t devilbox/php-fpm:7.2-work -f $(location)/work/Dockerfile-7.2 $(location)/work
|
docker build -t devilbox/php-fpm:7.2-work -f $(location)/work/Dockerfile-7.2 $(location)/work
|
||||||
build-work-73:
|
build-work-73:
|
||||||
docker build -t devilbox/php-fpm:7.3-work -f $(location)/work/Dockerfile-7.3 $(location)/work
|
docker build -t devilbox/php-fpm:7.3-work -f $(location)/work/Dockerfile-7.3 $(location)/work
|
||||||
|
build-work-74:
|
||||||
|
docker build -t devilbox/php-fpm:7.4-work -f $(location)/work/Dockerfile-7.4 $(location)/work
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -255,6 +271,8 @@ rebuild-base-72: pull-from-72
|
|||||||
docker build --no-cache -t devilbox/php-fpm:7.2-base -f $(location)/base/Dockerfile-7.2 $(location)/base
|
docker build --no-cache -t devilbox/php-fpm:7.2-base -f $(location)/base/Dockerfile-7.2 $(location)/base
|
||||||
rebuild-base-73: pull-from-73
|
rebuild-base-73: pull-from-73
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
docker build --no-cache -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
||||||
|
rebuild-base-74: pull-from-74
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:7.4-base -f $(location)/base/Dockerfile-7.4 $(location)/base
|
||||||
|
|
||||||
rebuild-mods-52:
|
rebuild-mods-52:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
docker build --no-cache -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
||||||
@@ -274,6 +292,8 @@ rebuild-mods-72:
|
|||||||
docker build --no-cache -t devilbox/php-fpm:7.2-mods -f $(location)/mods/Dockerfile-7.2 $(location)/mods
|
docker build --no-cache -t devilbox/php-fpm:7.2-mods -f $(location)/mods/Dockerfile-7.2 $(location)/mods
|
||||||
rebuild-mods-73:
|
rebuild-mods-73:
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
docker build --no-cache -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
||||||
|
rebuild-mods-74:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:7.4-mods -f $(location)/mods/Dockerfile-7.4 $(location)/mods
|
||||||
|
|
||||||
rebuild-prod-52:
|
rebuild-prod-52:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
docker build --no-cache -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
||||||
@@ -293,6 +313,8 @@ rebuild-prod-72:
|
|||||||
docker build --no-cache -t devilbox/php-fpm:7.2-prod -f $(location)/prod/Dockerfile-7.2 $(location)/prod
|
docker build --no-cache -t devilbox/php-fpm:7.2-prod -f $(location)/prod/Dockerfile-7.2 $(location)/prod
|
||||||
rebuild-prod-73:
|
rebuild-prod-73:
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
docker build --no-cache -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
||||||
|
rebuild-prod-74:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:7.4-prod -f $(location)/prod/Dockerfile-7.4 $(location)/prod
|
||||||
|
|
||||||
rebuild-work-52:
|
rebuild-work-52:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
docker build --no-cache -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
||||||
@@ -312,6 +334,8 @@ rebuild-work-72:
|
|||||||
docker build --no-cache -t devilbox/php-fpm:7.2-work -f $(location)/work/Dockerfile-7.2 $(location)/work
|
docker build --no-cache -t devilbox/php-fpm:7.2-work -f $(location)/work/Dockerfile-7.2 $(location)/work
|
||||||
rebuild-work-73:
|
rebuild-work-73:
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-work -f $(location)/work/Dockerfile-7.3 $(location)/work
|
docker build --no-cache -t devilbox/php-fpm:7.3-work -f $(location)/work/Dockerfile-7.3 $(location)/work
|
||||||
|
rebuild-work-74:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:7.4-work -f $(location)/work/Dockerfile-7.4 $(location)/work
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -319,23 +343,25 @@ rebuild-work-73:
|
|||||||
### Pull base FROM images
|
### Pull base FROM images
|
||||||
###
|
###
|
||||||
pull-from-52:
|
pull-from-52:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.2 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.2 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-53:
|
pull-from-53:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-54:
|
pull-from-54:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.4 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.4 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-55:
|
pull-from-55:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.5 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.5 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-56:
|
pull-from-56:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.6 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.6 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-70:
|
pull-from-70:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.0 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.0 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-71:
|
pull-from-71:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.1 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.1 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-72:
|
pull-from-72:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.2 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.2 | sed 's/^FROM\s*//g';)
|
||||||
pull-from-73:
|
pull-from-73:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.3 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.3 | sed 's/^FROM\s*//g';)
|
||||||
|
pull-from-74:
|
||||||
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.4 | sed 's/^FROM\s*//g';)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -343,10 +369,10 @@ pull-from-73:
|
|||||||
###
|
###
|
||||||
test-all: test-base test-mods test-prod test-work
|
test-all: test-base test-mods test-prod test-work
|
||||||
|
|
||||||
test-base: test-base-52 test-base-53 test-base-54 test-base-55 test-base-56 test-base-70 test-base-71 test-base-72 test-base-73
|
test-base: test-base-52 test-base-53 test-base-54 test-base-55 test-base-56 test-base-70 test-base-71 test-base-72 test-base-73 test-base-74
|
||||||
test-mods: test-mods-52 test-mods-53 test-mods-54 test-mods-55 test-mods-56 test-mods-70 test-mods-71 test-mods-72 test-mods-73
|
test-mods: test-mods-52 test-mods-53 test-mods-54 test-mods-55 test-mods-56 test-mods-70 test-mods-71 test-mods-72 test-mods-73 test-mods-74
|
||||||
test-prod: test-prod-52 test-prod-53 test-prod-54 test-prod-55 test-prod-56 test-prod-70 test-prod-71 test-prod-72 test-prod-73
|
test-prod: test-prod-52 test-prod-53 test-prod-54 test-prod-55 test-prod-56 test-prod-70 test-prod-71 test-prod-72 test-prod-73 test-prod-74
|
||||||
test-work: test-work-52 test-work-53 test-work-54 test-work-55 test-work-56 test-work-70 test-work-71 test-work-72 test-work-73
|
test-work: test-work-52 test-work-53 test-work-54 test-work-55 test-work-56 test-work-70 test-work-71 test-work-72 test-work-73 test-work-74
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -370,6 +396,8 @@ test-base-72:
|
|||||||
./tests/test.sh 7.2 base
|
./tests/test.sh 7.2 base
|
||||||
test-base-73:
|
test-base-73:
|
||||||
./tests/test.sh 7.3 base
|
./tests/test.sh 7.3 base
|
||||||
|
test-base-74:
|
||||||
|
./tests/test.sh 7.4 base
|
||||||
|
|
||||||
test-mods-52:
|
test-mods-52:
|
||||||
./tests/test.sh 5.2 mods
|
./tests/test.sh 5.2 mods
|
||||||
@@ -389,6 +417,8 @@ test-mods-72:
|
|||||||
./tests/test.sh 7.2 mods
|
./tests/test.sh 7.2 mods
|
||||||
test-mods-73:
|
test-mods-73:
|
||||||
./tests/test.sh 7.3 mods
|
./tests/test.sh 7.3 mods
|
||||||
|
test-mods-74:
|
||||||
|
./tests/test.sh 7.4 mods
|
||||||
|
|
||||||
test-prod-52:
|
test-prod-52:
|
||||||
./tests/test.sh 5.2 prod
|
./tests/test.sh 5.2 prod
|
||||||
@@ -408,6 +438,8 @@ test-prod-72:
|
|||||||
./tests/test.sh 7.2 prod
|
./tests/test.sh 7.2 prod
|
||||||
test-prod-73:
|
test-prod-73:
|
||||||
./tests/test.sh 7.3 prod
|
./tests/test.sh 7.3 prod
|
||||||
|
test-prod-74:
|
||||||
|
./tests/test.sh 7.4 prod
|
||||||
|
|
||||||
test-work-52:
|
test-work-52:
|
||||||
./tests/test.sh 5.2 work
|
./tests/test.sh 5.2 work
|
||||||
@@ -427,3 +459,5 @@ test-work-72:
|
|||||||
./tests/test.sh 7.2 work
|
./tests/test.sh 7.2 work
|
||||||
test-work-73:
|
test-work-73:
|
||||||
./tests/test.sh 7.3 work
|
./tests/test.sh 7.3 work
|
||||||
|
test-work-74:
|
||||||
|
./tests/test.sh 7.4 work
|
||||||
|
|||||||
93
README.md
93
README.md
@@ -173,7 +173,7 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="9"><strong>base</strong></td>
|
<td rowspan="10"><strong>base</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-base</code></td>
|
<td><code>devilbox/php-fpm:5.2-base</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-base.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-base.svg" /></a>
|
||||||
@@ -235,9 +235,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-base.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-base.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:7.4-base</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:7.4-base.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.4-base.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="9"><strong>mods</strong></td>
|
<td rowspan="10"><strong>mods</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-mods</code></td>
|
<td><code>devilbox/php-fpm:5.2-mods</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-mods.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-mods.svg" /></a>
|
||||||
@@ -300,9 +307,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-mods.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-mods.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:7.4-mods</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:7.4-mods.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.4-mods.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="9"><strong>prod</strong></td>
|
<td rowspan="10"><strong>prod</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-prod</code></td>
|
<td><code>devilbox/php-fpm:5.2-prod</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-prod.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-prod.svg" /></a>
|
||||||
@@ -365,9 +379,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-prod.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-prod.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:7.4-prod</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:7.4-prod.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.4-prod.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="9"><strong>work</strong></td>
|
<td rowspan="10"><strong>work</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-work</code></td>
|
<td><code>devilbox/php-fpm:5.2-work</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-work.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-work.svg" /></a>
|
||||||
@@ -430,6 +451,13 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-work.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.3-work.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:7.4-work</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:7.4-work.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:7.4-work.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -498,47 +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, 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, 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>
|
<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, 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, 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, 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, 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, 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, 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, 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>
|
||||||
|
<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-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>
|
||||||
@@ -558,6 +591,7 @@ docker pull devilbox/php-fpm:7.0-base
|
|||||||
docker pull devilbox/php-fpm:7.1-base
|
docker pull devilbox/php-fpm:7.1-base
|
||||||
docker pull devilbox/php-fpm:7.2-base
|
docker pull devilbox/php-fpm:7.2-base
|
||||||
docker pull devilbox/php-fpm:7.3-base
|
docker pull devilbox/php-fpm:7.3-base
|
||||||
|
docker pull devilbox/php-fpm:7.4-base
|
||||||
```
|
```
|
||||||
|
|
||||||
Generic PHP-FPM base image. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub>
|
Generic PHP-FPM base image. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub>
|
||||||
@@ -573,6 +607,7 @@ docker pull devilbox/php-fpm:7.0-mods
|
|||||||
docker pull devilbox/php-fpm:7.1-mods
|
docker pull devilbox/php-fpm:7.1-mods
|
||||||
docker pull devilbox/php-fpm:7.2-mods
|
docker pull devilbox/php-fpm:7.2-mods
|
||||||
docker pull devilbox/php-fpm:7.3-mods
|
docker pull devilbox/php-fpm:7.3-mods
|
||||||
|
docker pull devilbox/php-fpm:7.4-mods
|
||||||
```
|
```
|
||||||
|
|
||||||
Generic PHP-FPM image with fully loaded extensions. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub></td>
|
Generic PHP-FPM image with fully loaded extensions. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub></td>
|
||||||
@@ -588,6 +623,7 @@ docker pull devilbox/php-fpm:7.0-prod
|
|||||||
docker pull devilbox/php-fpm:7.1-prod
|
docker pull devilbox/php-fpm:7.1-prod
|
||||||
docker pull devilbox/php-fpm:7.2-prod
|
docker pull devilbox/php-fpm:7.2-prod
|
||||||
docker pull devilbox/php-fpm:7.3-prod
|
docker pull devilbox/php-fpm:7.3-prod
|
||||||
|
docker pull devilbox/php-fpm:7.4-prod
|
||||||
```
|
```
|
||||||
|
|
||||||
Devilbox production image. This Docker image comes with many injectables, port-forwardings, mail-catch-all and user/group rewriting.
|
Devilbox production image. This Docker image comes with many injectables, port-forwardings, mail-catch-all and user/group rewriting.
|
||||||
@@ -603,6 +639,7 @@ docker pull devilbox/php-fpm:7.0-work
|
|||||||
docker pull devilbox/php-fpm:7.1-work
|
docker pull devilbox/php-fpm:7.1-work
|
||||||
docker pull devilbox/php-fpm:7.2-work
|
docker pull devilbox/php-fpm:7.2-work
|
||||||
docker pull devilbox/php-fpm:7.3-work
|
docker pull devilbox/php-fpm:7.3-work
|
||||||
|
docker pull devilbox/php-fpm:7.4-work
|
||||||
```
|
```
|
||||||
|
|
||||||
Devilbox development image. Same as prod, but comes with lots of locally installed tools to make development inside the container as convenient as possible. See [Integrated Development Environment](#integrated-development-environment) for more information about this.
|
Devilbox development image. Same as prod, but comes with lots of locally installed tools to make development inside the container as convenient as possible. See [Integrated Development Environment](#integrated-development-environment) for more information about this.
|
||||||
@@ -664,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>
|
||||||
@@ -723,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>
|
||||||
@@ -822,6 +867,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://www.ansible.com/">Ansible</a></td>
|
<td><a href="https://www.ansible.com/">Ansible</a></td>
|
||||||
<td>Automation tool.</td>
|
<td>Automation tool.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://asgardcms.com/install">asgardcms</a></td>
|
||||||
|
<td>AsgardCMS cli installer.</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/cytopia/awesome-ci">awesome-ci</a></td>
|
<td><a href="https://github.com/cytopia/awesome-ci">awesome-ci</a></td>
|
||||||
<td>Various linting and source code analyzing tools.</td>
|
<td>Various linting and source code analyzing tools.</td>
|
||||||
@@ -834,6 +883,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://getcomposer.org">composer</a></td>
|
<td><a href="https://getcomposer.org">composer</a></td>
|
||||||
<td>Dependency Manager for PHP.</td>
|
<td>Dependency Manager for PHP.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://deployer.org/">deployer</a></td>
|
||||||
|
<td>Deployment tool for PHP.</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://drupalconsole.com">drupal-console</a></td>
|
<td><a href="https://drupalconsole.com">drupal-console</a></td>
|
||||||
<td>The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.</td>
|
<td>The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.</td>
|
||||||
@@ -866,6 +919,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://github.com/zaach/jsonlint">jsonlint</a></td>
|
<td><a href="https://github.com/zaach/jsonlint">jsonlint</a></td>
|
||||||
<td>Json command line linter.</td>
|
<td>Json command line linter.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://stedolan.github.io/jq/">jq</a></td>
|
||||||
|
<td>Command-line JSON processor.</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/laravel/installer">laravel installer</a></td>
|
<td><a href="https://github.com/laravel/installer">laravel installer</a></td>
|
||||||
<td>A CLI tool to easily install and manage the laravel framework.</td>
|
<td>A CLI tool to easily install and manage the laravel framework.</td>
|
||||||
@@ -910,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>
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
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 %}
|
{% elif php_version == 7.4 %}
|
||||||
FROM devilbox/php-fpm-7.3
|
FROM devilbox/php-fpm-7.4
|
||||||
{% else %}
|
{% else %}
|
||||||
FROM php:{{ php_version }}-fpm
|
FROM php:{{ php_version }}-fpm
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -44,9 +44,8 @@ RUN set -x \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get upgrade -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
@@ -77,10 +76,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -18,43 +18,56 @@ LABEL \
|
|||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
ENV BUILD_DEPS \
|
ENV BUILD_DEPS \
|
||||||
{# Loop over enabled build dependencies #}
|
{# Loop over enabled build dependencies -#}
|
||||||
{% for ext in extensions_enabled %}
|
{%- set build_deps = [] -%}
|
||||||
{# Not disabled #}
|
{%- for ext in extensions_enabled -%}
|
||||||
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
{#- Not disabled AND not already available by default -#}
|
||||||
{# Version specific build dependency available? #}
|
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']))
|
||||||
{% if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] %}
|
and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) -%}
|
||||||
{% for build_dep in extensions_available[ext][php_version]['build_dep'] %}
|
{#- Version specific build dependency available? -#}
|
||||||
|
{%- if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] -%}
|
||||||
|
{%- for build_dep in extensions_available[ext][php_version]['build_dep'] -%}
|
||||||
|
{#- Append build dependencies to our array -#}
|
||||||
|
{{- build_deps.append(build_dep) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{#- Generic build dependency available? -#}
|
||||||
|
{%- elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] -%}
|
||||||
|
{%- for build_dep in extensions_available[ext]['all']['build_dep'] -%}
|
||||||
|
{#- Append build dependencies to our array -#}
|
||||||
|
{{- build_deps.append(build_dep) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{% for build_dep in build_deps | unique | sort %}
|
||||||
{{ build_dep }} \
|
{{ build_dep }} \
|
||||||
{% endfor %}
|
|
||||||
{# Generic build dependency available? #}
|
|
||||||
{% elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] %}
|
|
||||||
{% for build_dep in extensions_available[ext]['all']['build_dep'] %}
|
|
||||||
{{ build_dep }} \
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
|
|
||||||
ENV RUN_DEPS \
|
ENV RUN_DEPS \
|
||||||
{# Loop over enabled run-time dependencies #}
|
{# Loop over enabled run-time dependencies -#}
|
||||||
{% for ext in extensions_enabled %}
|
{%- set run_deps = [] -%}
|
||||||
{# Not disabled #}
|
{%- for ext in extensions_enabled -%}
|
||||||
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
{#- Not disabled -#}
|
||||||
{# Version specific run-time dependency available? #}
|
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
|
||||||
{% if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] %}
|
{#- Version specific run-time dependency available? -#}
|
||||||
{% for run_dep in extensions_available[ext][php_version]['run_dep'] %}
|
{%- if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] -%}
|
||||||
|
{%- for run_dep in extensions_available[ext][php_version]['run_dep'] -%}
|
||||||
|
{#- Append run dependencies to our array -#}
|
||||||
|
{{- run_deps.append(run_dep) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{#- Generic run-time dependency available? -#}
|
||||||
|
{%- elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] -%}
|
||||||
|
{%- for run_dep in extensions_available[ext]['all']['run_dep'] -%}
|
||||||
|
{#- Append run dependencies to our array -#}
|
||||||
|
{{- run_deps.append(run_dep) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{% for run_dep in run_deps | unique | sort %}
|
||||||
{{ run_dep }} \
|
{{ run_dep }} \
|
||||||
{% endfor %}
|
|
||||||
{# Generic run-time dependency available? #}
|
|
||||||
{% elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] %}
|
|
||||||
{% for run_dep in extensions_available[ext]['all']['run_dep'] %}
|
|
||||||
{{ run_dep }} \
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
@@ -63,111 +76,126 @@ ENV RUN_DEPS \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
${BUILD_DEPS} \
|
${BUILD_DEPS} \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
{# Loop over enabled extensions #}
|
{# Loop over enabled extensions #}
|
||||||
{% for ext in extensions_enabled %}
|
{% for ext in extensions_enabled %}
|
||||||
{# Not disabled #}
|
{# Not disabled AND not already enabled #}
|
||||||
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
{% if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||||
{# ---------- Pre Command ---------- #}
|
# ---- Installing PHP Extension: {{ ext }} ----
|
||||||
{# Version specific pre-command available? #}
|
{# ---------- Pre Command ---------- #}
|
||||||
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
|
{# Version specific pre-command available? #}
|
||||||
|
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
|
||||||
&& {{ extensions_available[ext][php_version]['pre'] }} \
|
&& {{ extensions_available[ext][php_version]['pre'] }} \
|
||||||
{# Generic pre-command available? #}
|
{# Generic pre-command available? #}
|
||||||
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
|
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
|
||||||
&& {{ extensions_available[ext]['all']['pre'] }} \
|
&& {{ extensions_available[ext]['all']['pre'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{# ---------- Installation (specific) ---------- #}
|
{# ---------- Installation (specific) ---------- #}
|
||||||
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
|
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
|
||||||
{# ---- 1.) Builtin ---- #}
|
{# ---- 1.) Builtin ---- #}
|
||||||
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
|
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
|
||||||
{% if 'configure' in extensions_available[ext][php_version] %}
|
{% if 'configure' in extensions_available[ext][php_version] %}
|
||||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||||
{# ---- 2.) PECL ---- #}
|
{# ---- 2.) PECL ---- #}
|
||||||
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
|
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
|
||||||
{% if 'command' in extensions_available[ext][php_version] %}
|
{% if 'command' in extensions_available[ext][php_version] %}
|
||||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||||
{% else %}
|
{% else %}
|
||||||
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
|
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& docker-php-ext-enable {{ ext }} \
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
{# ---- 3.) GIT ---- #}
|
{# ---- 3.) GIT ---- #}
|
||||||
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
|
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
|
||||||
&& git clone -v {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||||
&& cd /tmp/{{ ext }} \
|
&& cd /tmp/{{ ext }} \
|
||||||
{% if 'git_ref' in extensions_available[ext][php_version] %}
|
{% if 'git_ref' in extensions_available[ext][php_version] %}
|
||||||
&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
|
&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if 'command' in extensions_available[ext][php_version] %}
|
{% if 'command' in extensions_available[ext][php_version] %}
|
||||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||||
{% else %}
|
{% else %}
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
|
&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& docker-php-ext-enable {{ ext }} \
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
&& cd / && rm -rf /tmp/{{ ext }} \
|
{# ---- 4.) CUSTOM ---- #}
|
||||||
{# ---- 4.) CUSTOM ---- #}
|
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
|
||||||
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
|
|
||||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{# ---------- Installation (generic) ---------- #}
|
{# ---------- Installation (generic) ---------- #}
|
||||||
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
|
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
|
||||||
{# ---- 1.) Builtin ---- #}
|
{# ---- 1.) Builtin ---- #}
|
||||||
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
|
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
|
||||||
{% if 'configure' in extensions_available[ext]['all'] %}
|
{% if 'configure' in extensions_available[ext]['all'] %}
|
||||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||||
{# ---- 2.) PECL ---- #}
|
{# ---- 2.) PECL ---- #}
|
||||||
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
|
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
|
||||||
{% if 'command' in extensions_available[ext]['all'] %}
|
{% if 'command' in extensions_available[ext]['all'] %}
|
||||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||||
{% else %}
|
{% else %}
|
||||||
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
|
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& docker-php-ext-enable {{ ext }} \
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
{# ---- 3.) GIT ---- #}
|
{# ---- 3.) GIT ---- #}
|
||||||
{% elif extensions_available[ext]['all']['type'] == 'git' %}
|
{% elif extensions_available[ext]['all']['type'] == 'git' %}
|
||||||
&& git clone -v {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||||
&& cd /tmp/{{ ext }} \
|
&& cd /tmp/{{ ext }} \
|
||||||
{% if 'git_ref' in extensions_available[ext]['all'] %}
|
{% if 'git_ref' in extensions_available[ext]['all'] %}
|
||||||
&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
|
&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if 'command' in extensions_available[ext]['all'] %}
|
{% if 'command' in extensions_available[ext]['all'] %}
|
||||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||||
{% else %}
|
{% else %}
|
||||||
&& phpize \
|
&& phpize \
|
||||||
&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
|
&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
&& docker-php-ext-enable {{ ext }} \
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
&& cd / && rm -rf /tmp/{{ ext }} \
|
{# ---- 4.) CUSTOM ---- #}
|
||||||
{# ---- 4.) CUSTOM ---- #}
|
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
|
||||||
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
|
|
||||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{# Only delete files for extensions we've actually installed, not those that were already available by default #}
|
||||||
|
&& (rm -rf /usr/local/lib/php/test/{{ ext }} || true) \
|
||||||
|
&& (rm -rf /usr/local/lib/php/doc/{{ ext }} || true) \
|
||||||
|
\
|
||||||
|
{% endif %}
|
||||||
|
{# Ensure modules that are not disabled have an appropriate ini directive and are loaded #}
|
||||||
|
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
||||||
|
{% if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] %}
|
||||||
|
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
|
||||||
|
{% elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] %}
|
||||||
|
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
\
|
\
|
||||||
\
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||||
${BUILD_DEPS} \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
\
|
|
||||||
\
|
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
|
||||||
${RUN_DEPS} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
&& update-ca-certificates \
|
&& update-ca-certificates \
|
||||||
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
{% if debug %}
|
{% if debug %}
|
||||||
@@ -175,25 +203,37 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
RUN set -x \
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
{% for ext in extensions_enabled %}
|
{% for ext in extensions_enabled %}
|
||||||
{# Not disabled #}
|
{#- Not disabled #}
|
||||||
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
||||||
{% if ext == 'opcache' %}
|
{%- if ext == 'opcache' %}
|
||||||
&& 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 == 'ioncube' %}
|
{# #}
|
||||||
{# Not enabled #}
|
{%- elif ext == 'readline' %}
|
||||||
{% else %}
|
&& 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 }}$' \
|
||||||
{% endif %}
|
{# #}
|
||||||
{% endif %}
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,26 @@ LABEL \
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
&& mkdir -p /var/log/supervisor
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -40,10 +46,20 @@ RUN set -x \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -59,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
|
||||||
|
|
||||||
|
|||||||
@@ -24,58 +24,70 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apt-get update \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& 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 \
|
||||||
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
{% for repo in apt_repositories_enabled %}
|
{% for repo in apt_repositories_enabled -%}
|
||||||
{# Not disabled #}
|
{#- Not disabled -#}
|
||||||
{% if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) %}
|
{%- if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) -%}
|
||||||
{# Version specific pre-command available? #}
|
{#- Version specific pre-command available? -#}
|
||||||
{% if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] %}
|
{%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] %}
|
||||||
&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
|
&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
|
||||||
{# Generic pre-command available? #}
|
{# #}
|
||||||
{% elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] %}
|
{#- Generic pre-command available? -#}
|
||||||
|
{%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] %}
|
||||||
&& {{ apt_repositories_available[repo]['all']['pre'] }} \
|
&& {{ apt_repositories_available[repo]['all']['pre'] }} \
|
||||||
{% endif %}
|
{# #}
|
||||||
{# Version specific key available? #}
|
{%- endif -%}
|
||||||
{% if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
|
{#- Version specific key available? -#}
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
|
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
|
||||||
{# Generic key available? #}
|
&& 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'] }} \
|
||||||
{% 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'] }} \
|
{#- Generic key available? -#}
|
||||||
{% endif %}
|
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %}
|
||||||
{# Version specific repository available? #}
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
|
||||||
{% if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] %}
|
{# #}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- Version specific repository available? -#}
|
||||||
|
{%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] %}
|
||||||
&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||||
{# Generic repository available? #}
|
{# #}
|
||||||
{% else %}
|
{#- Generic repository available? -#}
|
||||||
|
{%- else %}
|
||||||
&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||||
{% endif %}
|
{# #}
|
||||||
{% endif %}
|
{%- endif -%}
|
||||||
{% endfor %}
|
{%- endif -%}
|
||||||
&& apt-get update \
|
{%- endfor %}
|
||||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
|
gawk \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
graphviz \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
iputils-ping \
|
iputils-ping \
|
||||||
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev\
|
||||||
@@ -92,12 +104,14 @@ RUN set -x \
|
|||||||
nodejs \
|
nodejs \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
|
patchelf \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
python-cffi \
|
python-cffi \
|
||||||
python-dev \
|
python-dev \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-wheel \
|
python-wheel \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
@@ -105,14 +119,27 @@ RUN set -x \
|
|||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
vim \
|
vim \
|
||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
|
wkhtmltopdf \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
yarn \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
zsh \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Get newer pip version
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
@@ -143,7 +170,12 @@ RUN set -x \
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
&& true
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -171,10 +203,20 @@ RUN \
|
|||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
{% for tool in software_enabled %}
|
{% for tool in software_enabled %}
|
||||||
@@ -205,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
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,3 +8,4 @@ php-7.0 php_version=7.0 ansible_connection=local
|
|||||||
php-7.1 php_version=7.1 ansible_connection=local
|
php-7.1 php_version=7.1 ansible_connection=local
|
||||||
php-7.2 php_version=7.2 ansible_connection=local
|
php-7.2 php_version=7.2 ansible_connection=local
|
||||||
php-7.3 php_version=7.3 ansible_connection=local
|
php-7.3 php_version=7.3 ansible_connection=local
|
||||||
|
php-7.4 php_version=7.4 ansible_connection=local
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ print_usage() {
|
|||||||
echo " gen-readme.sh 7.1"
|
echo " gen-readme.sh 7.1"
|
||||||
echo " gen-readme.sh 7.2"
|
echo " gen-readme.sh 7.2"
|
||||||
echo " gen-readme.sh 7.3"
|
echo " gen-readme.sh 7.3"
|
||||||
|
echo " gen-readme.sh 7.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -34,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
|
||||||
|
|
||||||
@@ -73,6 +91,7 @@ if [ "${#}" -eq "0" ]; then
|
|||||||
update_readme "7.1"
|
update_readme "7.1"
|
||||||
update_readme "7.2"
|
update_readme "7.2"
|
||||||
update_readme "7.3"
|
update_readme "7.3"
|
||||||
|
update_readme "7.4"
|
||||||
elif [ "${#}" -gt "1" ]; then
|
elif [ "${#}" -gt "1" ]; then
|
||||||
# Specifying more than 1 argument is wrong
|
# Specifying more than 1 argument is wrong
|
||||||
echo "Error, invalid number of arguments."
|
echo "Error, invalid number of arguments."
|
||||||
@@ -87,7 +106,8 @@ else
|
|||||||
&& [ "${1}" != "7.0" ] \
|
&& [ "${1}" != "7.0" ] \
|
||||||
&& [ "${1}" != "7.1" ] \
|
&& [ "${1}" != "7.1" ] \
|
||||||
&& [ "${1}" != "7.2" ] \
|
&& [ "${1}" != "7.2" ] \
|
||||||
&& [ "${1}" != "7.3" ]; then
|
&& [ "${1}" != "7.3" ] \
|
||||||
|
&& [ "${1}" != "7.4" ]; then
|
||||||
# Argument does not match any of the PHP versions
|
# Argument does not match any of the PHP versions
|
||||||
echo "Error, invalid argument."
|
echo "Error, invalid argument."
|
||||||
print_usage
|
print_usage
|
||||||
|
|||||||
@@ -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}" )"
|
||||||
|
|||||||
@@ -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" )"
|
||||||
|
|||||||
@@ -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}" )"
|
||||||
|
|||||||
@@ -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}" )"
|
||||||
|
|||||||
62
tests/prod/08-test-custom-user-scripts-1.sh
Executable file
62
tests/prod/08-test-custom-user-scripts-1.sh
Executable 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}"
|
||||||
62
tests/prod/09-test-custom-user-scripts-2.sh
Executable file
62
tests/prod/09-test-custom-user-scripts-2.sh
Executable 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}"
|
||||||
@@ -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}" )"
|
||||||
|
|||||||
Reference in New Issue
Block a user