mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-12 12:01:14 +00:00
Compare commits
219 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42a0a4f7ac | ||
|
|
69689351c8 | ||
|
|
865f18a212 | ||
|
|
f0b758e5fc | ||
|
|
d3e642b5f6 | ||
|
|
928c712fa6 | ||
|
|
c818efe5e3 | ||
|
|
ec1a1bd79d | ||
|
|
184881a8c5 | ||
|
|
1782f24d03 | ||
|
|
4cee51dbf4 | ||
|
|
fbcd91f248 | ||
|
|
d2cb8ef2c3 | ||
|
|
f3e7f5d352 | ||
|
|
d3923eb359 | ||
|
|
9a24cfe917 | ||
|
|
0229adf7c1 | ||
|
|
c35262e9b8 | ||
|
|
17649294c2 | ||
|
|
2d428c264a | ||
|
|
72d34ca52f | ||
|
|
6fbbc9580f | ||
|
|
44cc0093ec | ||
|
|
881dd567c9 | ||
|
|
2184f1f9a0 | ||
|
|
e10f81915b | ||
|
|
9fbdc187d8 | ||
|
|
1261f3a700 | ||
|
|
015eaff5d0 | ||
|
|
b5c34feb7c | ||
|
|
61ee6b3bfb | ||
|
|
feb6f0fee8 | ||
|
|
40c3980b3e | ||
|
|
857900acc6 | ||
|
|
7aa26f96d0 | ||
|
|
70ab96876d | ||
|
|
666980dc1c | ||
|
|
b776a9110f | ||
|
|
d1ec52838a | ||
|
|
8d8c92657a | ||
|
|
7a2710ffc5 | ||
|
|
58751d8deb | ||
|
|
3d96f15958 | ||
|
|
c8c71fb115 | ||
|
|
e156582252 | ||
|
|
ae9d987cb9 | ||
|
|
7b68744404 | ||
|
|
c3ad81b808 | ||
|
|
9531a29533 | ||
|
|
ed3449af98 | ||
|
|
5a5bcb1644 | ||
|
|
b0d72726bf | ||
|
|
9f073247f8 | ||
|
|
49e3180891 | ||
|
|
b4df3bc119 | ||
|
|
5aeeb86210 | ||
|
|
0421750699 | ||
|
|
36ef04c0f6 | ||
|
|
b0c3afc0d4 | ||
|
|
5ddf4a044a | ||
|
|
32a7cee28c | ||
|
|
1b12438855 | ||
|
|
c40619c7c0 | ||
|
|
d97348f457 | ||
|
|
f86556c72d | ||
|
|
8e94d09e39 | ||
|
|
7df4f04a04 | ||
|
|
0c664d770e | ||
|
|
e087ed33cc | ||
|
|
2ac845ab74 | ||
|
|
6634169b3f | ||
|
|
f9113317fc | ||
|
|
518d0d908d | ||
|
|
58aa3c6abf | ||
|
|
8d89ed4b02 | ||
|
|
25e0e12fe9 | ||
|
|
15ff7ff2dc | ||
|
|
36a3016370 | ||
|
|
bf81b816c4 | ||
|
|
a6e27c1dcd | ||
|
|
712ad5c66a | ||
|
|
59c30b8f24 | ||
|
|
d903951329 | ||
|
|
89d71a694b | ||
|
|
1d3a03c389 | ||
|
|
bc526403dd | ||
|
|
282c019eb3 | ||
|
|
74030c5c91 | ||
|
|
6be20c28e6 | ||
|
|
28d7ab632e | ||
|
|
395e4d30b4 | ||
|
|
d93387f207 | ||
|
|
c5e3e7257f | ||
|
|
0f7ea87328 | ||
|
|
66b7586eae | ||
|
|
2d4c8647e1 | ||
|
|
f0bb67cbc2 | ||
|
|
1b312bce33 | ||
|
|
6aafdd7023 | ||
|
|
48380c5d98 | ||
|
|
5506d68f1f | ||
|
|
88aeca57aa | ||
|
|
ec8fc4eab6 | ||
|
|
f6015c766a | ||
|
|
f0c625d951 | ||
|
|
a0332b964e | ||
|
|
7c1ceabf97 | ||
|
|
9bc2f1ca31 | ||
|
|
e51d28fcbe | ||
|
|
a002d3aa19 | ||
|
|
114f1b597d | ||
|
|
0b37f92cbb | ||
|
|
6616f336cf | ||
|
|
30f18d858e | ||
|
|
abd10c104b | ||
|
|
9f18603b4d | ||
|
|
d328e8aa67 | ||
|
|
9bddaad387 | ||
|
|
3cdede3519 | ||
|
|
dc98c5cefe | ||
|
|
62c65d19e7 | ||
|
|
b0c7655aca | ||
|
|
6f93613c34 | ||
|
|
6f359ab366 | ||
|
|
add92d6102 | ||
|
|
cdb09fcbee | ||
|
|
6ecd75d59b | ||
|
|
04c051e72f | ||
|
|
d926629879 | ||
|
|
3ca7d92844 | ||
|
|
8864095f8b | ||
|
|
d8be1a89bb | ||
|
|
b15ae8fc84 | ||
|
|
f3669b1bed | ||
|
|
fb36b7151f | ||
|
|
e09e02a7b0 | ||
|
|
8f2a9524fe | ||
|
|
332d03010c | ||
|
|
d9b205f2f1 | ||
|
|
42df419376 | ||
|
|
4be4c2eded | ||
|
|
6a49ffce10 | ||
|
|
ca6b176620 | ||
|
|
7019b00e55 | ||
|
|
c40082e886 | ||
|
|
3f89c534e4 | ||
|
|
c65bd0653b | ||
|
|
89edcd20d8 | ||
|
|
fd0594e3c1 | ||
|
|
bef26e8c27 | ||
|
|
f60c0e8fea | ||
|
|
1fc03c7b0d | ||
|
|
a782cf22ab | ||
|
|
51808ccc1b | ||
|
|
6f901d4bc7 | ||
|
|
b721b3b5ae | ||
|
|
ebd7c5ec37 | ||
|
|
050322cf02 | ||
|
|
5227af8e4c | ||
|
|
9e247307ad | ||
|
|
b095b04ec3 | ||
|
|
5684fac8a2 | ||
|
|
eb6799ad29 | ||
|
|
1c53a0fd68 | ||
|
|
fabc29299c | ||
|
|
83b4cb6b43 | ||
|
|
dc438b0aad | ||
|
|
c8bd21ebbe | ||
|
|
b2476e3851 | ||
|
|
c06a3d2237 | ||
|
|
ce4f022c70 | ||
|
|
9c5326dc0f | ||
|
|
2701a524b9 | ||
|
|
acea0ac0fe | ||
|
|
3153b329f1 | ||
|
|
10285279c7 | ||
|
|
0a04342e46 | ||
|
|
dad684bfd1 | ||
|
|
9fabcf3b71 | ||
|
|
0669d92289 | ||
|
|
6d2053878a | ||
|
|
c3f46d3706 | ||
|
|
de9642c2b5 | ||
|
|
6fa341748b | ||
|
|
5f719f60ce | ||
|
|
ffc8df1906 | ||
|
|
186bf71519 | ||
|
|
422e559ee3 | ||
|
|
eb85e3e288 | ||
|
|
5ed5dd2503 | ||
|
|
1225d564a7 | ||
|
|
a4102e3d7f | ||
|
|
982dd44701 | ||
|
|
bc851cca0f | ||
|
|
ef5b2ed58c | ||
|
|
cbd4f58876 | ||
|
|
fd6550627d | ||
|
|
af150ba371 | ||
|
|
47800a7ede | ||
|
|
d977d941ac | ||
|
|
2ae551e5a5 | ||
|
|
37747d392a | ||
|
|
0a5aadd2a2 | ||
|
|
64c41f7786 | ||
|
|
8bef4c7167 | ||
|
|
58ecd35153 | ||
|
|
55a1333d58 | ||
|
|
fa1ec623d7 | ||
|
|
faa10b9512 | ||
|
|
fc6df6bdaf | ||
|
|
649f667f45 | ||
|
|
0cbd58141d | ||
|
|
965db7f0d5 | ||
|
|
172baf9743 | ||
|
|
fc5e5e21e5 | ||
|
|
529a33f1a0 | ||
|
|
cc77461311 | ||
|
|
f04a5ec693 | ||
|
|
90495fab70 |
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
github: [cytopia]
|
||||||
|
patreon: devilbox
|
||||||
348
.github/workflows/build.yml
vendored
Normal file
348
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,348 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: build
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Runs on Pull Requests
|
||||||
|
pull_request:
|
||||||
|
# Runs on Push
|
||||||
|
push:
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# What to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: "[ PHP-${{ matrix.version }} ]"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: False
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- '5.2'
|
||||||
|
- '5.3'
|
||||||
|
- '5.4'
|
||||||
|
- '5.5'
|
||||||
|
- '5.6'
|
||||||
|
- '7.0'
|
||||||
|
- '7.1'
|
||||||
|
- '7.2'
|
||||||
|
- '7.3'
|
||||||
|
- '7.4'
|
||||||
|
- '8.0'
|
||||||
|
- '8.1'
|
||||||
|
- '8.2'
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Setup repository
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Set variables
|
||||||
|
id: vars
|
||||||
|
run: |
|
||||||
|
|
||||||
|
# Retrieve git info (tags, etc)
|
||||||
|
git fetch --all
|
||||||
|
|
||||||
|
# Branch, Tag or Commit
|
||||||
|
GIT_TYPE="$( \
|
||||||
|
curl -sS https://raw.githubusercontent.com/cytopia/git-tools/master/git-info.sh \
|
||||||
|
| sh \
|
||||||
|
| grep '^GIT_TYPE' \
|
||||||
|
| sed 's|.*=||g' \
|
||||||
|
)"
|
||||||
|
# Branch name, Tag name or Commit Hash
|
||||||
|
GIT_SLUG="$( \
|
||||||
|
curl -sS https://raw.githubusercontent.com/cytopia/git-tools/master/git-info.sh \
|
||||||
|
| sh \
|
||||||
|
| grep '^GIT_NAME' \
|
||||||
|
| sed 's|.*=||g' \
|
||||||
|
)"
|
||||||
|
# Docker Tag
|
||||||
|
if [ "${GIT_TYPE}" = "BRANCH" ] && [ "${GIT_SLUG}" = "master" ]; then
|
||||||
|
DOCKER_TAG_BASE="${VERSION}-base"
|
||||||
|
DOCKER_TAG_MODS="${VERSION}-mods"
|
||||||
|
DOCKER_TAG_PROD="${VERSION}-prod"
|
||||||
|
DOCKER_TAG_WORK="${VERSION}-work"
|
||||||
|
else
|
||||||
|
DOCKER_TAG_BASE="${VERSION}-base-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_MODS="${VERSION}-mods-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_PROD="${VERSION}-prod-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_WORK="${VERSION}-work-${GIT_SLUG}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}"
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}"
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}"
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}"
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}"
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}"
|
||||||
|
|
||||||
|
# Export variable
|
||||||
|
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}" >> ${GITHUB_ENV}
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}" >> ${GITHUB_ENV}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Base
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Base
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make _pull-base-image VERSION=${VERSION}
|
||||||
|
retry make build-base VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Base
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-base VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Mods
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Mods
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-mods VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Mods
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-mods VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Prod
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Prod
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-prod VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Prod
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-prod VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Work
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Work
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-work VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Work
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-work VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Diff README.md
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Diff README.md
|
||||||
|
run: |
|
||||||
|
make gen-readme VERSION=${VERSION}
|
||||||
|
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Deploy
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Publish images (only repo owner)
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}"
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}"
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}"
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}"
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}"
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}"
|
||||||
|
|
||||||
|
# Tag image
|
||||||
|
retry make tag OLD_TAG="${VERSION}-base" NEW_TAG="${DOCKER_TAG_BASE}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-mods" NEW_TAG="${DOCKER_TAG_MODS}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-prod" NEW_TAG="${DOCKER_TAG_PROD}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-work" NEW_TAG="${DOCKER_TAG_WORK}"
|
||||||
|
docker images
|
||||||
|
|
||||||
|
# Login
|
||||||
|
retry make login USERNAME=${{ secrets.DOCKERHUB_USERNAME }} PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
# Push
|
||||||
|
retry make push TAG=${DOCKER_TAG_BASE}
|
||||||
|
retry make push TAG=${DOCKER_TAG_MODS}
|
||||||
|
retry make push TAG=${DOCKER_TAG_PROD}
|
||||||
|
retry make push TAG=${DOCKER_TAG_WORK}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
|
||||||
|
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
|
||||||
|
&& (
|
||||||
|
(github.event_name == 'schedule' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
||||||
|
||
|
||||||
|
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
||||||
|
||
|
||||||
|
(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release-'))
|
||||||
|
)
|
||||||
54
.github/workflows/linting.yml
vendored
54
.github/workflows/linting.yml
vendored
@@ -1,27 +1,55 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
###
|
# -------------------------------------------------------------------------------------------------
|
||||||
### Lints all generic and json files in the whole git repository
|
# Job Name
|
||||||
###
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: lint
|
||||||
|
|
||||||
name: Linting
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
on:
|
on:
|
||||||
|
# Runs on Pull Requests
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# What to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
name: "[ ${{ matrix.job }} ]"
|
name: "Lint"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
|
||||||
fail-fast: False
|
|
||||||
matrix:
|
|
||||||
job: [gen-dockerfiles]
|
|
||||||
steps:
|
steps:
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Setup repository
|
||||||
|
# ------------------------------------------------------------
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Lint repository
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Lint Files
|
||||||
|
run: |
|
||||||
|
make lint-files
|
||||||
|
|
||||||
|
- name: Lint Yaml
|
||||||
|
run: |
|
||||||
|
make lint-yaml
|
||||||
|
|
||||||
|
- name: Lint workflow
|
||||||
|
run: |
|
||||||
|
make lint-workflow
|
||||||
|
|
||||||
|
- name: Lint Changelog
|
||||||
|
run: |
|
||||||
|
make lint-changelog
|
||||||
|
|
||||||
- name: Diff generated Docker files
|
- name: Diff generated Docker files
|
||||||
run: |
|
run: |
|
||||||
make "${JOB}"
|
make gen-dockerfiles
|
||||||
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
env:
|
|
||||||
JOB: ${{ matrix.job }}
|
|
||||||
|
|||||||
351
.github/workflows/nightly.yml
vendored
Normal file
351
.github/workflows/nightly.yml
vendored
Normal file
@@ -0,0 +1,351 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: nightly
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Runs daily
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# What to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
jobs:
|
||||||
|
nightly:
|
||||||
|
name: "[ PHP-${{ matrix.version }} ] (ref: ${{ matrix.refs }})"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: False
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- '5.2'
|
||||||
|
- '5.3'
|
||||||
|
- '5.4'
|
||||||
|
- '5.5'
|
||||||
|
- '5.6'
|
||||||
|
- '7.0'
|
||||||
|
- '7.1'
|
||||||
|
- '7.2'
|
||||||
|
- '7.3'
|
||||||
|
- '7.4'
|
||||||
|
- '8.0'
|
||||||
|
- '8.1'
|
||||||
|
- '8.2'
|
||||||
|
refs:
|
||||||
|
- 'master'
|
||||||
|
- '0.134'
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Setup repository
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ matrix.refs }}
|
||||||
|
|
||||||
|
- name: Set variables
|
||||||
|
id: vars
|
||||||
|
run: |
|
||||||
|
|
||||||
|
# Retrieve git info (tags, etc)
|
||||||
|
git fetch --all
|
||||||
|
|
||||||
|
# Branch, Tag or Commit
|
||||||
|
GIT_TYPE="$( \
|
||||||
|
curl -sS https://raw.githubusercontent.com/cytopia/git-tools/master/git-info.sh \
|
||||||
|
| sh \
|
||||||
|
| grep '^GIT_TYPE' \
|
||||||
|
| sed 's|.*=||g' \
|
||||||
|
)"
|
||||||
|
# Branch name, Tag name or Commit Hash
|
||||||
|
GIT_SLUG="$( \
|
||||||
|
curl -sS https://raw.githubusercontent.com/cytopia/git-tools/master/git-info.sh \
|
||||||
|
| sh \
|
||||||
|
| grep '^GIT_NAME' \
|
||||||
|
| sed 's|.*=||g' \
|
||||||
|
)"
|
||||||
|
# Docker Tag
|
||||||
|
if [ "${GIT_TYPE}" = "BRANCH" ] && [ "${GIT_SLUG}" = "master" ]; then
|
||||||
|
DOCKER_TAG_BASE="${VERSION}-base"
|
||||||
|
DOCKER_TAG_MODS="${VERSION}-mods"
|
||||||
|
DOCKER_TAG_PROD="${VERSION}-prod"
|
||||||
|
DOCKER_TAG_WORK="${VERSION}-work"
|
||||||
|
else
|
||||||
|
DOCKER_TAG_BASE="${VERSION}-base-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_MODS="${VERSION}-mods-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_PROD="${VERSION}-prod-${GIT_SLUG}"
|
||||||
|
DOCKER_TAG_WORK="${VERSION}-work-${GIT_SLUG}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}"
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}"
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}"
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}"
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}"
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}"
|
||||||
|
|
||||||
|
# Export variable
|
||||||
|
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}" >> ${GITHUB_ENV}
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}" >> ${GITHUB_ENV}
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}" >> ${GITHUB_ENV}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Base
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Base
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make _pull-base-image VERSION=${VERSION}
|
||||||
|
retry make build-base VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Base
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-base VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Mods
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Mods
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-mods VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Mods
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-mods VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Prod
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Prod
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-prod VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Prod
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-prod VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Work
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Build Work
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make build-work VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
- name: Test Work
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
retry make test-work VERSION=${VERSION}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Diff README.md
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Diff README.md
|
||||||
|
run: |
|
||||||
|
make gen-readme VERSION=${VERSION}
|
||||||
|
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Deploy
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Publish images (only repo owner)
|
||||||
|
run: |
|
||||||
|
retry() {
|
||||||
|
for n in $(seq ${RETRIES}); do
|
||||||
|
echo "[${n}/${RETRIES}] ${*}";
|
||||||
|
if eval "${*}"; then
|
||||||
|
echo "[SUCC] ${n}/${RETRIES}";
|
||||||
|
return 0;
|
||||||
|
fi;
|
||||||
|
sleep ${PAUSE};
|
||||||
|
echo "[FAIL] ${n}/${RETRIES}";
|
||||||
|
done;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output
|
||||||
|
echo "GIT_TYPE=${GIT_TYPE}"
|
||||||
|
echo "GIT_SLUG=${GIT_SLUG}"
|
||||||
|
echo "DOCKER_TAG_BASE=${DOCKER_TAG_BASE}"
|
||||||
|
echo "DOCKER_TAG_MODS=${DOCKER_TAG_MODS}"
|
||||||
|
echo "DOCKER_TAG_PROD=${DOCKER_TAG_PROD}"
|
||||||
|
echo "DOCKER_TAG_WORK=${DOCKER_TAG_WORK}"
|
||||||
|
|
||||||
|
# Tag image
|
||||||
|
retry make tag OLD_TAG="${VERSION}-base" NEW_TAG="${DOCKER_TAG_BASE}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-mods" NEW_TAG="${DOCKER_TAG_MODS}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-prod" NEW_TAG="${DOCKER_TAG_PROD}"
|
||||||
|
retry make tag OLD_TAG="${VERSION}-work" NEW_TAG="${DOCKER_TAG_WORK}"
|
||||||
|
docker images
|
||||||
|
|
||||||
|
# Login
|
||||||
|
retry make login USERNAME=${{ secrets.DOCKERHUB_USERNAME }} PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
# Push
|
||||||
|
retry make push TAG=${DOCKER_TAG_BASE}
|
||||||
|
retry make push TAG=${DOCKER_TAG_MODS}
|
||||||
|
retry make push TAG=${DOCKER_TAG_PROD}
|
||||||
|
retry make push TAG=${DOCKER_TAG_WORK}
|
||||||
|
env:
|
||||||
|
VERSION: ${{ matrix.version }}
|
||||||
|
RETRIES: 20
|
||||||
|
PAUSE: 10
|
||||||
|
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
|
||||||
|
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
|
||||||
|
&& (
|
||||||
|
(github.event_name == 'schedule' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
||||||
|
||
|
||||||
|
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
||||||
|
||
|
||||||
|
(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release-'))
|
||||||
|
)
|
||||||
333
.github/workflows/php-ci.yml
vendored
333
.github/workflows/php-ci.yml
vendored
@@ -1,333 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Job Name
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
name: PHP-CI
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# When to run
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
on:
|
|
||||||
# Runs on Pull Requests
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
# Runs on master Branch and Tags
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
- '[0-9]+.[0-9]+*'
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# What to run
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
jobs:
|
|
||||||
diagnostics:
|
|
||||||
name: Diagnostics
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: False
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
|
|
||||||
- name: Show environment
|
|
||||||
run: |
|
|
||||||
env
|
|
||||||
|
|
||||||
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context
|
|
||||||
- name: Show GitHub variables
|
|
||||||
run: |
|
|
||||||
echo "github.actor: ${{ github.actor }}"
|
|
||||||
echo "github.ref: ${{ github.ref }}"
|
|
||||||
echo "github.base_ref: ${{ github.base_ref }}"
|
|
||||||
echo "github.head_ref: ${{ github.head_ref }}"
|
|
||||||
echo "github.event: ${{ github.event }}"
|
|
||||||
echo "github.event_name: ${{ github.event_name }}"
|
|
||||||
echo "github.event.pull_request.base.repo.id: ${{ github.event.pull_request.base.repo.id }}"
|
|
||||||
echo "github.event.pull_request.head.repo.id: ${{ github.event.pull_request.head.repo.id }}"
|
|
||||||
|
|
||||||
- name: Dump GitHub context
|
|
||||||
env:
|
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
||||||
run: echo "${GITHUB_CONTEXT}"
|
|
||||||
|
|
||||||
- name: Dump Runner context
|
|
||||||
env:
|
|
||||||
RUNNER_CONTEXT: ${{ toJson(runner) }}
|
|
||||||
run: echo "${RUNNER_CONTEXT}"
|
|
||||||
|
|
||||||
|
|
||||||
build:
|
|
||||||
name: "[ ${{ matrix.version }} ]"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: False
|
|
||||||
matrix:
|
|
||||||
# Adding all targets and only run them if they exist.
|
|
||||||
# Prevents us from forgetting to update this in case
|
|
||||||
# we add new envs in terragrunt.
|
|
||||||
version:
|
|
||||||
- '5.2'
|
|
||||||
- '5.3'
|
|
||||||
- '5.4'
|
|
||||||
- '5.5'
|
|
||||||
- '5.6'
|
|
||||||
- '7.0'
|
|
||||||
- '7.1'
|
|
||||||
- '7.2'
|
|
||||||
- '7.3'
|
|
||||||
- '7.4'
|
|
||||||
- '8.0'
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Checkout repository
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
|
|
||||||
- name: Set variables
|
|
||||||
id: vars
|
|
||||||
run: |
|
|
||||||
# Set git branch or git tag as slug
|
|
||||||
if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then
|
|
||||||
GIT_TYPE=TAG
|
|
||||||
GIT_SLUG="${GITHUB_REF/refs\/tags\//}"
|
|
||||||
else
|
|
||||||
GIT_TYPE=BRANCH
|
|
||||||
if [ -n "${GITHUB_HEAD_REF}" ]; then
|
|
||||||
GIT_SLUG="${GITHUB_HEAD_REF}"
|
|
||||||
else
|
|
||||||
GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export variable
|
|
||||||
# # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env
|
|
||||||
echo ::set-env name=GIT_TYPE::${GIT_TYPE}
|
|
||||||
echo ::set-env name=GIT_SLUG::${GIT_SLUG}
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Base
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Base
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-base VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Base
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-base VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Mods
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Mods
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-mods VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Mods
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-mods VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Prod
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Prod
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-prod VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Prod
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-prod VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Work
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Work
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-work VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Work
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-work VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Diff README.md
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Diff README.md
|
|
||||||
run: |
|
|
||||||
make gen-readme VERSION=${VERSION}
|
|
||||||
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Push build artifacts
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
|
|
||||||
# Only run this, if the PR was created by the repo owner
|
|
||||||
- name: Publish images (only repo owner)
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Info output
|
|
||||||
echo "Git Type: ${GIT_TYPE}"
|
|
||||||
echo "Git Slug: ${GIT_SLUG}"
|
|
||||||
|
|
||||||
# Login
|
|
||||||
echo "retry make login USER= PASS="
|
|
||||||
|
|
||||||
# Push
|
|
||||||
if [ "${GIT_TYPE}" = "TAG" ]; then
|
|
||||||
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
else
|
|
||||||
if [ "${GIT_SLUG}" = "master" ]; then
|
|
||||||
echo "retry make push-base VERSION=${VERSION}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}"
|
|
||||||
else
|
|
||||||
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
|
|
||||||
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
|
|
||||||
&& (
|
|
||||||
(github.event_name == 'schedule' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
|
||||||
||
|
|
||||||
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
|
||||||
||
|
|
||||||
(github.event_name == 'pull_request' && (startsWith(github.head_ref, 'release-')))
|
|
||||||
)
|
|
||||||
328
.github/workflows/php-nightly.yml
vendored
328
.github/workflows/php-nightly.yml
vendored
@@ -1,328 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Job Name
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
name: PHP-Nightly
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# When to run
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
on:
|
|
||||||
# Runs daily
|
|
||||||
schedule:
|
|
||||||
- cron: '0 0 * * *'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# What to run
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
jobs:
|
|
||||||
diagnostics:
|
|
||||||
name: Diagnostics
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: False
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
|
|
||||||
- name: Show environment
|
|
||||||
run: |
|
|
||||||
env
|
|
||||||
|
|
||||||
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context
|
|
||||||
- name: Show GitHub variables
|
|
||||||
run: |
|
|
||||||
echo "github.actor: ${{ github.actor }}"
|
|
||||||
echo "github.ref: ${{ github.ref }}"
|
|
||||||
echo "github.base_ref: ${{ github.base_ref }}"
|
|
||||||
echo "github.head_ref: ${{ github.head_ref }}"
|
|
||||||
echo "github.event: ${{ github.event }}"
|
|
||||||
echo "github.event_name: ${{ github.event_name }}"
|
|
||||||
echo "github.event.pull_request.base.repo.id: ${{ github.event.pull_request.base.repo.id }}"
|
|
||||||
echo "github.event.pull_request.head.repo.id: ${{ github.event.pull_request.head.repo.id }}"
|
|
||||||
|
|
||||||
- name: Dump GitHub context
|
|
||||||
env:
|
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
||||||
run: echo "${GITHUB_CONTEXT}"
|
|
||||||
|
|
||||||
- name: Dump Runner context
|
|
||||||
env:
|
|
||||||
RUNNER_CONTEXT: ${{ toJson(runner) }}
|
|
||||||
run: echo "${RUNNER_CONTEXT}"
|
|
||||||
|
|
||||||
|
|
||||||
build:
|
|
||||||
name: "[ ${{ matrix.version }} ]"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: False
|
|
||||||
matrix:
|
|
||||||
# Adding all targets and only run them if they exist.
|
|
||||||
# Prevents us from forgetting to update this in case
|
|
||||||
# we add new envs in terragrunt.
|
|
||||||
version:
|
|
||||||
- '5.2'
|
|
||||||
- '5.3'
|
|
||||||
- '5.4'
|
|
||||||
- '5.5'
|
|
||||||
- '5.6'
|
|
||||||
- '7.0'
|
|
||||||
- '7.1'
|
|
||||||
- '7.2'
|
|
||||||
- '7.3'
|
|
||||||
- '7.4'
|
|
||||||
- '8.0'
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Checkout repository
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
|
|
||||||
- name: Set variables
|
|
||||||
id: vars
|
|
||||||
run: |
|
|
||||||
# Set git branch or git tag as slug
|
|
||||||
if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then
|
|
||||||
GIT_TYPE=TAG
|
|
||||||
GIT_SLUG="${GITHUB_REF/refs\/tags\//}"
|
|
||||||
else
|
|
||||||
GIT_TYPE=BRANCH
|
|
||||||
if [ -n "${GITHUB_HEAD_REF}" ]; then
|
|
||||||
GIT_SLUG="${GITHUB_HEAD_REF}"
|
|
||||||
else
|
|
||||||
GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export variable
|
|
||||||
# # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env
|
|
||||||
echo ::set-env name=GIT_TYPE::${GIT_TYPE}
|
|
||||||
echo ::set-env name=GIT_SLUG::${GIT_SLUG}
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Base
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Base
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-base VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Base
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-base VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Mods
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Mods
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-mods VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Mods
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-mods VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Prod
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Prod
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-prod VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Prod
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-prod VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Work
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Build Work
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make build-work VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
- name: Test Work
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
retry make test-work VERSION=${VERSION}
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Diff README.md
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
- name: Diff README.md
|
|
||||||
run: |
|
|
||||||
make gen-readme VERSION=${VERSION}
|
|
||||||
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Push build artifacts
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
|
|
||||||
# Only run this, if the PR was created by the repo owner
|
|
||||||
- name: Publish images (only repo owner)
|
|
||||||
run: |
|
|
||||||
retry() {
|
|
||||||
for ((n=0; n<${RETRIES}; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
sleep 10;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Info output
|
|
||||||
echo "Git Type: ${GIT_TYPE}"
|
|
||||||
echo "Git Slug: ${GIT_SLUG}"
|
|
||||||
|
|
||||||
# Login
|
|
||||||
echo "retry make login USER= PASS="
|
|
||||||
|
|
||||||
# Push
|
|
||||||
if [ "${GIT_TYPE}" = "TAG" ]; then
|
|
||||||
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
else
|
|
||||||
if [ "${GIT_SLUG}" = "master" ]; then
|
|
||||||
echo "retry make push-base VERSION=${VERSION}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}"
|
|
||||||
else
|
|
||||||
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
env:
|
|
||||||
VERSION: ${{ matrix.version }}
|
|
||||||
RETRIES: 5
|
|
||||||
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
|
|
||||||
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
|
|
||||||
&& (
|
|
||||||
(github.event_name == 'schedule' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
|
||||||
||
|
|
||||||
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
|
|
||||||
||
|
|
||||||
(github.event_name == 'pull_request' && (startsWith(github.head_ref, 'release-')))
|
|
||||||
)
|
|
||||||
150
.travis.yml
150
.travis.yml
@@ -1,150 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
###
|
|
||||||
### Travis settings
|
|
||||||
###
|
|
||||||
sudo: required
|
|
||||||
language: minimal
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Build Matrix
|
|
||||||
###
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- IMAGE: devilbox/php-fpm
|
|
||||||
# travis encrypt DOCKER_USERNAME=user
|
|
||||||
# travis encrypt DOCKER_PASSWORD=pass
|
|
||||||
# Must be regenerated when repository name/owner changes
|
|
||||||
# DOCKER_USERNAME
|
|
||||||
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
|
|
||||||
# DOCKER_PASSWORD
|
|
||||||
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
|
|
||||||
matrix:
|
|
||||||
- PHP=5.2
|
|
||||||
- PHP=5.3
|
|
||||||
- PHP=5.4
|
|
||||||
- PHP=5.5
|
|
||||||
- PHP=5.6
|
|
||||||
- PHP=7.0
|
|
||||||
- PHP=7.1
|
|
||||||
- PHP=7.2
|
|
||||||
- PHP=7.3
|
|
||||||
- PHP=7.4
|
|
||||||
- PHP=8.0
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install requirements
|
|
||||||
###
|
|
||||||
install:
|
|
||||||
- docker version
|
|
||||||
|
|
||||||
# Disable services enabled by default
|
|
||||||
# http://docs.travis-ci.com/user/database-setup/#MySQL
|
|
||||||
- sudo /etc/init.d/httpd stop || true
|
|
||||||
- sudo /etc/init.d/memcached stop || true
|
|
||||||
- sudo /etc/init.d/mongodb stop || true
|
|
||||||
- sudo /etc/init.d/mysql stop || true
|
|
||||||
- sudo /etc/init.d/nginx stop || true
|
|
||||||
- sudo /etc/init.d/postgresql stop || true
|
|
||||||
- sudo /etc/init.d/redis stop || true
|
|
||||||
|
|
||||||
- sudo service httpd stop || true
|
|
||||||
- sudo service memcached stop || true
|
|
||||||
- sudo service mongodb stop || true
|
|
||||||
- sudo service mysql stop || true
|
|
||||||
- sudo service nginx stop || true
|
|
||||||
- sudo service postgresql stop || true
|
|
||||||
- sudo service redis stop || true
|
|
||||||
- netstat -tulpn
|
|
||||||
|
|
||||||
- retry() {
|
|
||||||
for ((n=0; n<10; n++)); do
|
|
||||||
echo "[${n}] ${*}";
|
|
||||||
if eval "${*}"; then
|
|
||||||
return 0;
|
|
||||||
fi;
|
|
||||||
done;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Check generation changes, build and test
|
|
||||||
###
|
|
||||||
before_script:
|
|
||||||
# Regenerate Dockerfiles and make sure nothing has changed (every stage)
|
|
||||||
- make gen-dockerfiles
|
|
||||||
- git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
|
||||||
|
|
||||||
# Build (multiple tries due to network outages)
|
|
||||||
- retry make build-base VERSION=${PHP}
|
|
||||||
#- retry make test-base VERSION=${PHP}
|
|
||||||
|
|
||||||
- retry make build-mods VERSION=${PHP}
|
|
||||||
#- retry make test-mods VERSION=${PHP}
|
|
||||||
|
|
||||||
- retry make build-prod VERSION=${PHP}
|
|
||||||
#- retry make test-prod VERSION=${PHP}
|
|
||||||
|
|
||||||
- retry make build-work VERSION=${PHP}
|
|
||||||
- retry make test-work VERSION=${PHP}
|
|
||||||
|
|
||||||
# Test if PHP modules have changed
|
|
||||||
- make gen-readme VERSION=${PHP}
|
|
||||||
- git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Push to Dockerhub
|
|
||||||
###
|
|
||||||
script:
|
|
||||||
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
|
||||||
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin &&
|
|
||||||
if [ "${TRAVIS_BRANCH}" == "master" ]; then
|
|
||||||
echo "Pushing latest";
|
|
||||||
until docker push "${IMAGE}:${PHP}-base"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-mods"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-prod"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-work"; do sleep 1; done;
|
|
||||||
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}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
|
|
||||||
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}"; do sleep 1; done;
|
|
||||||
elif [ -n "${TRAVIS_TAG}" ]; then
|
|
||||||
echo "Pushing tag ${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}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
|
|
||||||
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}"; do sleep 1; done;
|
|
||||||
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}" &&
|
|
||||||
until docker push "${IMAGE}:${PHP}-base-${MY_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-mods-${MY_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-prod-${MY_TAG}"; do sleep 1; done;
|
|
||||||
until docker push "${IMAGE}:${PHP}-work-${MY_TAG}"; do sleep 1; done;
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Skipping push to dockerhub on normal branches";
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Skipping push to dockerhub on PR";
|
|
||||||
fi
|
|
||||||
327
CHANGELOG.md
Normal file
327
CHANGELOG.md
Normal file
@@ -0,0 +1,327 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.134
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Added extension `xdebug` to PHP 8.2
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.133
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added PHP 8.2: https://github.com/devilbox/docker-php-fpm-8.2
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.132
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `nvm` PATH priority [#846](https://github.com/cytopia/devilbox/issues/846)
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- added extension `sqlsrv` to php 8.1
|
||||||
|
- added extension `pdo_sqlsrv` to php 8.1
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Changed postfix hostname to `localhost` instead of GitHub runners long name
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.131
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added binary `sqlite3` to all PHP images [#856](https://github.com/cytopia/devilbox/issues/856)
|
||||||
|
- Added binary `laravel` to PHP 8.0 and PHP 8.1 [#823](https://github.com/cytopia/devilbox/issues/823)
|
||||||
|
- Added AVIF support in GD for PHP 8.1 [#834](https://github.com/cytopia/devilbox/issues/834)
|
||||||
|
- Added extension `amqp` to PHP 8.0 and PHP 8.1 [#826](https://github.com/cytopia/devilbox/issues/826)
|
||||||
|
- Added extension `uploadprogress` to PHP 8.0 and PHP 8.1 [#158](https://github.com/devilbox/docker-php-fpm/pull/158)
|
||||||
|
- Added extension `imagick` to PHP 8.0 and PHP 8.1
|
||||||
|
- Added extension `rdkafka` to PHP 8.0 and PHP 8.1
|
||||||
|
- Added extension `xlswriter` to PHP 8.1
|
||||||
|
- Added extension `pdo_dblib` to PHP 8.1
|
||||||
|
- Added extension `uuid` to all PHP versions (except 5.2)
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Updated `php-cs-fixer` to latest version [#219](https://github.com/devilbox/docker-php-fpm/pull/219)
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.130
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed correct keys for `apt`
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added integration checks for `apt update`
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.129
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Pinned module: `uploadprogress`
|
||||||
|
- Pinned module: `mongodb`
|
||||||
|
- Pinned lib: `libenchant`
|
||||||
|
- Pinned lib: `libicu`
|
||||||
|
- Pinned lib: `libvpx`
|
||||||
|
- Pinned PHP 8.0: https://github.com/devilbox/docker-php-fpm-8.0/pull/16
|
||||||
|
- Pinned PHP 8.1: https://github.com/devilbox/docker-php-fpm-8.1/pull/9
|
||||||
|
- Fixed `pgsql` apt key
|
||||||
|
- Fixed `deployer` download on cert issues
|
||||||
|
- Fixed `phpmd` download on cert issues
|
||||||
|
- Fixed `phpunit` download on cert issues
|
||||||
|
- Fixed `php-cs-fixer` download on cert issues
|
||||||
|
- Fixed building `sockets` on PHP 8.0 and PHP 8.1
|
||||||
|
- Fixed building `ffi` on PHP 7.4
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Removed `mcrypt` from PHP 8.1 as it is not yet supported
|
||||||
|
- Removed `enchant` from PHP 7.3 and PHP 7.4 as libenchant1 is not available via apt
|
||||||
|
- Updated PHP 8.0 base image to BullsEye: https://github.com/devilbox/docker-php-fpm-8.0/pull/17
|
||||||
|
- Updated PHP 8.1 base image to BullsEye: https://github.com/devilbox/docker-php-fpm-8.1/pull/10
|
||||||
|
- Updated PostgreSQL repos to Bullseye for PHP >= 7.3
|
||||||
|
- Updated `pip` to use Python3 for PHP >= 7.3
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.128
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Adding `pdo_sqlsrv` to more PHP versions
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.127
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Adding `swoole` to more PHP 8.0
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.126
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Added Homebrew for all versions
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.125
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Re-added `opcache` for PHP 8.1
|
||||||
|
- Pin `ansible` version for all work images
|
||||||
|
- Pin `wp-cli` version for PHP 5.4 and 5.5
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.124
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `pdo_sqlsrv` version for PHP 7.2
|
||||||
|
- Fixed `sqlsrv` version for PHP 7.2
|
||||||
|
- Fixed `swoole` version for PHP 7.1
|
||||||
|
- Fixed pip installation
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Removed `opcache` for PHP 8.1
|
||||||
|
- Removed `xlswriter` for PHP 8.1
|
||||||
|
- Removed `linuxbrew` for all versions
|
||||||
|
- [#201](https://github.com/devilbox/docker-php-fpm/issues/201) Deactivated `psr` and `phalcon` by default
|
||||||
|
- Removed `drush9` from PHP 7.0 and 7.1
|
||||||
|
- Removed `drupalconsole` from PHP 7.0 and 7.1
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.123
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixex `redis` module compilation for PHP 8.1
|
||||||
|
- Fixed PHP Xdebug v3 defaults to:
|
||||||
|
```ini
|
||||||
|
xdebug.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Removed `pdo_dblib` from PHP 8.1 due to errors
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.122
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added `apcu`, `blackfire`, `igbinary`, `imap`, `mcrypt`, `memcache`, `msgpack`, `oauth`, `psr`, `solr`, `xlswriter`, `yaml` to PHP 8.0
|
||||||
|
- Added `apcu`, `igbinary`, `imap`, `mcrypt`, `memcache`, `msgpack`, `oauth`, `psr`, `solr`, `xlswriter`, `yaml` to PHP 8.1
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Migrate from Travis CI to GitHub Actions
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.121
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `msgpack` install for PHP 7.0 - 7.4
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Compile `redis` extension with `msgpack` and `igbinary`
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.120
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `zsh` install for PHP 5.6 and 7.0
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.119
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `drupal` (drupal console launcher) for PHP 5.5, 5.6, 7.0 and 7.1
|
||||||
|
- Fixed `zsh` install for PHP 5.6 and 7.0
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.118
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `mdl` rubygem
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- [#182](https://github.com/devilbox/docker-php-fpm/issues/182) Added `ioncube` to PHP 7.4
|
||||||
|
- Added `sqlsrv` to PHP 7.4
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Updated xdebug to latest possible version
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.117
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- [#755](https://github.com/cytopia/devilbox/issues/755) Add .composer/vendir/bin to $PATH variable
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- [#692](https://github.com/cytopia/devilbox/issues/692) Add custom supervisor config mountpoint
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.116
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- [#749](https://github.com/cytopia/devilbox/issues/749) Fix to disable PHP modules without trailing `*.so` extension
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.115
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- [#703](https://github.com/cytopia/devilbox/issues/703) Don't fail on uid/gid change
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.114
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Use latest PHP 8.0 image
|
||||||
|
- Disabled gd-jis: https://bugs.php.net/bug.php?id=73582
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Add PHP 8.1
|
||||||
|
- PHP module mongodb is added to PHP 8.0
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Composer is updated to v2 (/usr/local/bin/composer)
|
||||||
|
- Composer is available as v1 and v2 (/usr/local/bin/composer-[12])
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.113
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixes nightly build pipeline
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.112
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixes [166](https://github.com/devilbox/docker-php-fpm/issues/166) Missing `locale-gen` binary
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added vips extension
|
||||||
|
- Added xlswriter extension
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.111
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added xdebug for PHP 8.0
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.110
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- [169](https://github.com/devilbox/docker-php-fpm/issues/169) Fixes download for drupal console
|
||||||
|
- Fixes laravel installer for PHP 7.2
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.109
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed absolute paths in tests
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.108
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added ghostscript
|
||||||
|
- Added gsfonts
|
||||||
|
- Added imagick PDF support (via ghostscript)
|
||||||
|
- Added mupdf and mupdf-tools
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixes Ansible installation
|
||||||
|
- Fixes MongoDB for PHP 5.6
|
||||||
|
- Fixes Redis for PHP 8.0
|
||||||
|
- Fixes policy.xml for Imagick
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Stricter version check for installed tools
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.107
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixes login to Dockerhub for CI jobs
|
||||||
|
- Fixes imagick segfault by setting its threads to 1
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Re-added imap for PHP 7.4
|
||||||
|
- Adding `certbot` binary
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.106
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- [#153](https://github.com/devilbox/docker-php-fpm/pull/153) Use numeric order for startup files
|
||||||
|
- Fix build of PHP-FPM 7.4 snmp module
|
||||||
|
- Disable PHP-FPM 8.0 uploadprogress module due to startup warnings
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.105
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fix pdo_sqlsrv install for PHP 7.1
|
||||||
|
- Fix sqlsrv install for PHP 7.1
|
||||||
|
- Fix composer memory issues during install
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- `phalcon` binary for PHP 7.3 and 7.4
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.104
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fix xdebug install for PHP 7.0
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.103
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Add PHP [yaml](https://pecl.php.net/package/yaml) module
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.102
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- [#144](https://github.com/devilbox/docker-php-fpm/issues/144) Added CHANGELOG
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- [#123](https://github.com/devilbox/docker-php-fpm/issues/123) Added Dart Sass and removed Ruby Sass
|
||||||
|
- Replace [scss-lint](https://github.com/sds/scss-lint) with [stylelint](https://github.com/stylelint/stylelint)
|
||||||
@@ -51,8 +51,8 @@ RUN set -eux \
|
|||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
||||||
} | tee /etc/apt/sources.list
|
} | tee /etc/apt/sources.list
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ RUN set -eux \
|
|||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
||||||
} | tee /etc/apt/sources.list
|
} | tee /etc/apt/sources.list
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ RUN set -eux \
|
|||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
||||||
} | tee /etc/apt/sources.list
|
} | tee /etc/apt/sources.list
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ RUN set -eux \
|
|||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
||||||
} | tee /etc/apt/sources.list
|
} | tee /etc/apt/sources.list
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
104
Dockerfiles/base/Dockerfile-8.1
Normal file
104
Dockerfiles/base/Dockerfile-8.1
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-8.1
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-base"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-base"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-base"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="8.1"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.1.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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /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
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
104
Dockerfiles/base/Dockerfile-8.2
Normal file
104
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-8.2
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-base"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="8.2"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /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
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -60,10 +60,18 @@ set_uid() {
|
|||||||
fi
|
fi
|
||||||
# Change uid and fix homedir permissions
|
# Change uid and fix homedir permissions
|
||||||
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
|
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
|
||||||
run "usermod -u ${uid} ${username}" "${debug}"
|
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R ${username} ${homedir}" "${debug}"
|
run "usermod -u ${uid} ${username}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R ${username} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R ${username} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R ${username} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -100,12 +108,20 @@ set_gid() {
|
|||||||
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Change ugd and fix homedir permissions
|
# Change gid and fix homedir permissions
|
||||||
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
||||||
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R :${groupname} ${homedir}" "${debug}"
|
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R :${groupname} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R :${groupname} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R :${groupname} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.1.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.1.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
|
||||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.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
|
||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
48
Dockerfiles/base/data/php-ini.d/php-8.1.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.1.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.1-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.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.2-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.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
@@ -6,9 +6,9 @@ FROM devilbox/php-fpm:5.2-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
@@ -172,7 +172,7 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -242,8 +242,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -455,10 +456,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
@@ -561,6 +562,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -568,8 +571,8 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
@@ -764,6 +767,13 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ FROM devilbox/php-fpm:5.3-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
@@ -43,7 +43,9 @@ RUN set -eux \
|
|||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -167,7 +169,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -253,8 +255,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -554,15 +557,26 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid-1.0.5 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -602,6 +616,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml-1.3.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -660,6 +685,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -667,8 +694,8 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
@@ -691,7 +718,9 @@ RUN set -eux \
|
|||||||
libvpx1 \
|
libvpx1 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -873,6 +902,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -887,11 +918,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ FROM devilbox/php-fpm:5.4-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
@@ -43,7 +43,9 @@ RUN set -eux \
|
|||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -167,7 +169,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install gd \
|
&& docker-php-ext-install gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -253,8 +255,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install mcrypt \
|
&& docker-php-ext-install mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -573,15 +576,26 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid-1.0.5 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -621,6 +635,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml-1.3.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -679,6 +704,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -686,8 +713,8 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
@@ -710,7 +737,9 @@ RUN set -eux \
|
|||||||
libvpx1 \
|
libvpx1 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -894,6 +923,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -908,11 +939,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ FROM devilbox/php-fpm:5.5-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
@@ -26,6 +27,7 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -41,10 +43,13 @@ RUN set -eux \
|
|||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
|
libwebp5 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -158,7 +163,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -193,6 +198,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imagick --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install imagick \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
@@ -236,8 +263,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -561,15 +589,26 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid-1.0.5 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -609,6 +648,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml-1.3.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -667,6 +717,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -674,8 +726,9 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
@@ -684,6 +737,7 @@ RUN set -eux \
|
|||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
@@ -696,9 +750,12 @@ RUN set -eux \
|
|||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
libvpx1 \
|
libvpx1 \
|
||||||
|
libwebp5 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -709,6 +766,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -777,6 +845,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^iconv$' \
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
&& php -m | grep -oiE '^igbinary$' \
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
&& php-fpm -m | grep -oiE '^igbinary$' \
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
&& php -m | grep -oiE '^imap$' \
|
&& php -m | grep -oiE '^imap$' \
|
||||||
&& php-fpm -m | grep -oiE '^imap$' \
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
&& php -m | grep -oiE '^interbase$' \
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
@@ -882,6 +952,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -896,11 +968,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ FROM devilbox/php-fpm:5.6-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
@@ -47,8 +48,10 @@ RUN set -eux \
|
|||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -176,7 +179,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -219,6 +222,17 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -265,8 +279,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -317,10 +332,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mongodb --------------------
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb-1.7.5 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& true
|
&& true
|
||||||
@@ -591,15 +606,26 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid-1.0.5 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -639,6 +665,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml-1.3.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -696,6 +733,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -703,8 +742,9 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
@@ -729,8 +769,10 @@ RUN set -eux \
|
|||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -741,6 +783,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -916,6 +969,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -930,11 +985,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,51 +6,69 @@ FROM devilbox/php-fpm:7.0-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
|
fftw-dev \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
gobject-introspection \
|
||||||
|
gtk-doc-tools \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
libgif-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagick++-dev \
|
||||||
|
libmagickcore-6.q16-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
|
libpoppler-glib-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
|
librsvg2-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux2 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc-dev \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -178,7 +196,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -221,6 +239,17 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -267,8 +296,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -286,10 +316,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -308,10 +338,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mongodb --------------------
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb-1.9.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& true
|
&& true
|
||||||
@@ -466,10 +496,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
@@ -509,9 +539,24 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: GIT extension
|
||||||
# Default: Pecl command
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& pecl install redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& true
|
&& true
|
||||||
@@ -633,19 +678,45 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& git clone https://github.com/libvips/libvips /tmp/libvips \
|
||||||
|
&& cd /tmp/libvips \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -rf /tmp/libvips \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -658,10 +729,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& pecl install xdebug-2.9.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& true
|
&& true
|
||||||
@@ -685,6 +756,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml-2.0.4 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -742,6 +835,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -749,35 +844,55 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
fftw2 \
|
||||||
|
ghostscript \
|
||||||
|
gir1.2-poppler-0.18 \
|
||||||
|
imagemagick-6.q16 \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libexif12 \
|
||||||
|
libexpat1 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-3 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
|
libgif7 \
|
||||||
|
libglib2.0-0 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagick++-6.q16-7 \
|
||||||
|
libmagick++-6.q16hdri-7 \
|
||||||
|
libmagickcore-6.q16-3 \
|
||||||
|
libmagickcore-6.q16-3-extra \
|
||||||
libmagickwand-6.q16-3 \
|
libmagickwand-6.q16-3 \
|
||||||
|
libmagickwand-6.q16hdri-3 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
|
libpoppler-glib8 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
librsvg2-2 \
|
||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
libvpx4 \
|
libvpx4 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux2 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -788,6 +903,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -967,6 +1093,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^vips$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^vips$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -981,11 +1111,22 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,51 +6,70 @@ FROM devilbox/php-fpm:7.1-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
|
fftw-dev \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
gobject-introspection \
|
||||||
|
gtk-doc-tools \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
libgif-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libimagequant-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagick++-dev \
|
||||||
|
libmagickcore-6.q16-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
|
libpoppler-glib-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
|
librsvg2-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc-dev \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -178,7 +197,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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-native-ttf \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -221,6 +240,17 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -246,8 +276,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: intl --------------------
|
# -------------------- Installing PHP Extension: intl --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -266,8 +297,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -285,10 +317,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -307,10 +339,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mongodb --------------------
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install mongodb \
|
&& pecl install mongodb-1.11.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& true
|
&& true
|
||||||
@@ -446,10 +478,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install pdo_sqlsrv \
|
&& pecl install pdo_sqlsrv-5.6.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable pdo_sqlsrv \
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -465,10 +497,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
@@ -508,9 +540,24 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: GIT extension
|
||||||
# Default: Pecl command
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& pecl install redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& true
|
&& true
|
||||||
@@ -576,10 +623,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install sqlsrv-5.6.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -598,10 +645,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Default: Pecl command
|
||||||
&& yes yes | pecl install swoole \
|
&& pecl install swoole-4.4.26 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
@@ -642,19 +689,45 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress-1.1.4 \
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& git clone https://github.com/libvips/libvips /tmp/libvips \
|
||||||
|
&& cd /tmp/libvips \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -rf /tmp/libvips \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -667,10 +740,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& pecl install xdebug-2.9.8 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& true
|
&& true
|
||||||
@@ -694,6 +767,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -751,6 +846,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -758,36 +855,57 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
fftw2 \
|
||||||
|
ghostscript \
|
||||||
|
gir1.2-poppler-0.18 \
|
||||||
|
imagemagick-6.q16 \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libexif12 \
|
||||||
|
libexpat1 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-3 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
|
libgif7 \
|
||||||
|
libglib2.0-0 \
|
||||||
libicu63 \
|
libicu63 \
|
||||||
|
libimagequant0 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagick++-6.q16-8 \
|
||||||
|
libmagick++-6.q16hdri-8 \
|
||||||
|
libmagickcore-6.q16-6 \
|
||||||
|
libmagickcore-6.q16-6-extra \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmagickwand-6.q16hdri-6 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
|
libpoppler-glib8 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
librsvg2-2 \
|
||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -798,6 +916,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -979,6 +1108,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^vips$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^vips$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -993,11 +1126,22 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,51 +6,70 @@ FROM devilbox/php-fpm:7.2-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
|
fftw-dev \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
gobject-introspection \
|
||||||
|
gtk-doc-tools \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
libgif-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libimagequant-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagick++-dev \
|
||||||
|
libmagickcore-6.q16-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
|
libpoppler-glib-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
|
librsvg2-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc-dev \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -178,7 +197,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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 \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -221,6 +240,17 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -246,8 +276,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: intl --------------------
|
# -------------------- Installing PHP Extension: intl --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -288,10 +319,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -450,10 +481,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install pdo_sqlsrv \
|
&& pecl install pdo_sqlsrv-5.8.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable pdo_sqlsrv \
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -469,10 +500,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
@@ -512,9 +543,24 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: GIT extension
|
||||||
# Default: Pecl command
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& pecl install redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& true
|
&& true
|
||||||
@@ -580,10 +626,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install sqlsrv-5.8.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -645,20 +691,46 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& git clone https://github.com/libvips/libvips /tmp/libvips \
|
||||||
|
&& cd /tmp/libvips \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -rf /tmp/libvips \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -698,6 +770,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -755,6 +849,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -762,36 +858,57 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
fftw2 \
|
||||||
|
ghostscript \
|
||||||
|
gir1.2-poppler-0.18 \
|
||||||
|
imagemagick-6.q16 \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libexif12 \
|
||||||
|
libexpat1 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-3 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
|
libgif7 \
|
||||||
|
libglib2.0-0 \
|
||||||
libicu63 \
|
libicu63 \
|
||||||
|
libimagequant0 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagick++-6.q16-8 \
|
||||||
|
libmagick++-6.q16hdri-8 \
|
||||||
|
libmagickcore-6.q16-6 \
|
||||||
|
libmagickcore-6.q16-6-extra \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmagickwand-6.q16hdri-6 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
|
libpoppler-glib8 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
librsvg2-2 \
|
||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -802,6 +919,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -985,6 +1113,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^vips$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^vips$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -999,11 +1131,22 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,51 +6,69 @@ FROM devilbox/php-fpm:7.3-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
|
fftw-dev \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
gobject-introspection \
|
||||||
|
gtk-doc-tools \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
libgif-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libimagequant-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagick++-dev \
|
||||||
|
libmagickcore-6.q16-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
|
libpoppler-glib-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
librecode-dev \
|
||||||
|
librsvg2-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc-dev \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -155,14 +173,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: enchant --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: exif --------------------
|
# -------------------- Installing PHP Extension: exif --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -178,7 +188,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& 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 \
|
&& 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 \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -221,6 +231,17 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -288,10 +309,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -450,10 +471,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install pdo_sqlsrv \
|
&& pecl install pdo_sqlsrv-5.9.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable pdo_sqlsrv \
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -512,9 +533,24 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: GIT extension
|
||||||
# Default: Pecl command
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& pecl install redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& true
|
&& true
|
||||||
@@ -580,10 +616,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install sqlsrv-5.9.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
@@ -645,20 +681,46 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& git clone https://github.com/libvips/libvips /tmp/libvips \
|
||||||
|
&& cd /tmp/libvips \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -rf /tmp/libvips \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: wddx --------------------
|
# -------------------- Installing PHP Extension: wddx --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -698,6 +760,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -755,6 +839,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -762,36 +848,56 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
fftw2 \
|
||||||
|
ghostscript \
|
||||||
|
gir1.2-poppler-0.18 \
|
||||||
|
imagemagick-6.q16 \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libexif12 \
|
||||||
|
libexpat1 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
|
libfftw3-3 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libgif7 \
|
||||||
|
libglib2.0-0 \
|
||||||
|
libicu67 \
|
||||||
|
libimagequant0 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagick++-6.q16-8 \
|
||||||
|
libmagick++-6.q16hdri-8 \
|
||||||
|
libmagickcore-6.q16-6 \
|
||||||
|
libmagickcore-6.q16-6-extra \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmagickwand-6.q16hdri-6 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
|
libpoppler-glib8 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
librsvg2-2 \
|
||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvpx6 \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -802,6 +908,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -848,8 +965,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
&& php -m | grep -oiE '^dom$' \
|
&& php -m | grep -oiE '^dom$' \
|
||||||
&& php-fpm -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 -m | grep -oiE '^exif$' \
|
||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^fileinfo$' \
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
@@ -985,6 +1100,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^vips$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^vips$' \
|
||||||
&& 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 -m | grep -oiE '^xdebug$' \
|
||||||
@@ -999,11 +1118,22 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,48 +6,69 @@ FROM devilbox/php-fpm:7.4-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
|
fftw-dev \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
gobject-introspection \
|
||||||
|
gtk-doc-tools \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
|
libfftw3-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
libgif-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
|
libimagequant-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagick++-dev \
|
||||||
|
libmagickcore-6.q16-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
|
libpoppler-glib-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
|
librsvg2-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -67,6 +88,23 @@ RUN set -eux \
|
|||||||
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: ioncube --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Custom extension
|
||||||
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
|
&& 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 \
|
||||||
|
&& tar xvfz ioncube.tar.gz \
|
||||||
|
&& cd ioncube \
|
||||||
|
&& cp "ioncube_loader_lin_7.4.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: amqp --------------------
|
# -------------------- Installing PHP Extension: amqp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -135,14 +173,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: enchant --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: exif --------------------
|
# -------------------- Installing PHP Extension: exif --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -154,17 +184,8 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ffi --------------------
|
# -------------------- Installing PHP Extension: ffi --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: Built-in extension
|
||||||
&& git clone https://github.com/dstogov/php-ffi /tmp/ffi \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ffi \
|
||||||
&& cd /tmp/ffi \
|
|
||||||
# Custom: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --with-ffi \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable ffi \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -175,7 +196,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \
|
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -218,6 +239,29 @@ RUN set -eux \
|
|||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable imagick \
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -243,7 +287,7 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install mcrypt \
|
&& pecl install mcrypt \
|
||||||
@@ -265,10 +309,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -429,6 +473,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install pdo_sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pgsql --------------------
|
# -------------------- Installing PHP Extension: pgsql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -473,16 +528,22 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& cd /tmp/redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
# Custom: Install command
|
# Custom: Install command
|
||||||
&& phpize \
|
&& REDIS_ARGS=""; \
|
||||||
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
|
fi; \
|
||||||
&& ./configure --enable-redis \
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
\
|
\
|
||||||
@@ -512,10 +573,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: snmp --------------------
|
# -------------------- Installing PHP Extension: snmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Installation
|
||||||
&& docker-php-ext-configure snmp --with-openssl-dir \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -548,6 +608,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ssh2 --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -604,20 +675,46 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& git clone https://github.com/libvips/libvips /tmp/libvips \
|
||||||
|
&& cd /tmp/libvips \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -rf /tmp/libvips \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -648,6 +745,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -706,6 +825,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -713,34 +834,56 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
fftw2 \
|
||||||
|
ghostscript \
|
||||||
|
gir1.2-poppler-0.18 \
|
||||||
|
imagemagick-6.q16 \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libenchant1c2a \
|
libc-client2007e \
|
||||||
|
libexif12 \
|
||||||
|
libexpat1 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi6 \
|
libffi7 \
|
||||||
|
libfftw3-3 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libgif7 \
|
||||||
|
libglib2.0-0 \
|
||||||
|
libicu67 \
|
||||||
|
libimagequant0 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagick++-6.q16-8 \
|
||||||
|
libmagick++-6.q16hdri-8 \
|
||||||
|
libmagickcore-6.q16-6 \
|
||||||
|
libmagickcore-6.q16-6-extra \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmagickwand-6.q16hdri-6 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
|
libpoppler-glib8 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
|
librsvg2-2 \
|
||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvpx6 \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -751,6 +894,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -797,8 +951,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
&& php -m | grep -oiE '^dom$' \
|
&& php -m | grep -oiE '^dom$' \
|
||||||
&& php-fpm -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 -m | grep -oiE '^exif$' \
|
||||||
&& php-fpm -m | grep -oiE '^exif$' \
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
&& php -m | grep -oiE '^ffi$' \
|
&& php -m | grep -oiE '^ffi$' \
|
||||||
@@ -823,6 +975,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^igbinary$' \
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
&& php -m | grep -oiE '^imagick$' \
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
&& php-fpm -m | grep -oiE '^imagick$' \
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
&& php -m | grep -oiE '^intl$' \
|
&& php -m | grep -oiE '^intl$' \
|
||||||
&& php-fpm -m | grep -oiE '^intl$' \
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
&& php -m | grep -oiE '^json$' \
|
&& php -m | grep -oiE '^json$' \
|
||||||
@@ -873,6 +1027,8 @@ RUN set -eux \
|
|||||||
&& 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 '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
@@ -910,6 +1066,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^solr$' \
|
&& php-fpm -m | grep -oiE '^solr$' \
|
||||||
&& php -m | grep -oiE '^spl$' \
|
&& php -m | grep -oiE '^spl$' \
|
||||||
&& php-fpm -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 '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
@@ -926,6 +1084,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^vips$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^vips$' \
|
||||||
&& php -m | grep -oiE '^xdebug$' \
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xml$' \
|
||||||
@@ -938,11 +1100,22 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -6,15 +6,18 @@ FROM devilbox/php-fpm:8.0-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libenchant-dev \
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-2-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
@@ -22,11 +25,18 @@ RUN set -eux \
|
|||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libsodium-dev \
|
libsodium-dev \
|
||||||
@@ -34,11 +44,15 @@ RUN set -eux \
|
|||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
|
libwebp6 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
@@ -58,6 +72,28 @@ RUN set -eux \
|
|||||||
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: amqp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: apcu --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install apcu \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: bcmath --------------------
|
# -------------------- Installing PHP Extension: bcmath --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -66,6 +102,20 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Custom extension
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: bz2 --------------------
|
# -------------------- Installing PHP Extension: bz2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -113,7 +163,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \
|
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
@@ -137,6 +187,51 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: igbinary --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install igbinary \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imagick --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install imagick \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: intl --------------------
|
# -------------------- Installing PHP Extension: intl --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -157,6 +252,39 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install mcrypt \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable mcrypt \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install memcache \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -181,41 +309,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mongodb --------------------
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \
|
# Default: Pecl command
|
||||||
&& cd /tmp/mongodb \
|
&& pecl install mongodb \
|
||||||
# Custom: Install command
|
|
||||||
&& git checkout v1.6 \
|
|
||||||
&& git submodule update --init \
|
|
||||||
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
|
|
||||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
|
|
||||||
&& sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \
|
|
||||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
|
|
||||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
|
|
||||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
|
|
||||||
\
|
|
||||||
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
|
|
||||||
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
|
|
||||||
\
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-mongodb \
|
|
||||||
&& make all \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongodb \
|
&& docker-php-ext-enable mongodb \
|
||||||
&& true
|
&& true
|
||||||
@@ -229,6 +326,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: oauth --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install oauth \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable oauth \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
@@ -339,6 +447,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install pdo_sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pgsql --------------------
|
# -------------------- Installing PHP Extension: pgsql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -347,6 +466,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pspell --------------------
|
# -------------------- Installing PHP Extension: pspell --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -357,23 +487,22 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
&& cd /tmp/redis \
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
# Custom: Install command
|
# Custom: Install command
|
||||||
&& phpize \
|
&& REDIS_ARGS=""; \
|
||||||
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
|
fi; \
|
||||||
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
|
fi; \
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
|
phpize \
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
|
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
|
|
||||||
&& ./configure --enable-redis \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
\
|
\
|
||||||
@@ -382,6 +511,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -412,6 +552,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: sockets --------------------
|
# -------------------- Installing PHP Extension: sockets --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# Version specific pre-command
|
||||||
|
&& docker-php-ext-configure sockets \
|
||||||
|
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
||||||
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
@@ -426,6 +570,39 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: solr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install solr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable solr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& yes yes | pecl install swoole \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -460,34 +637,34 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
# Default: Pecl command
|
||||||
&& cd /tmp/uploadprogress \
|
&& pecl install uploadprogress \
|
||||||
# Custom: Install command
|
|
||||||
&& true \
|
|
||||||
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
|
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' || true \
|
|
||||||
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' || true \
|
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' || true \
|
|
||||||
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' || true \
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-uploadprogress \
|
|
||||||
&& make \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable uploadprogress \
|
&& docker-php-ext-enable uploadprogress \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: xmlrpc --------------------
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: PECL extension
|
||||||
# Custom: configure command
|
# Default: Pecl command
|
||||||
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
&& pecl install uuid \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xdebug \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -499,6 +676,28 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -556,6 +755,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-mods"
|
|||||||
ARG EXT_DIR
|
ARG EXT_DIR
|
||||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
@@ -563,27 +764,38 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libenchant1c2a \
|
libc-client2007e \
|
||||||
|
libenchant-2-2 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi6 \
|
libffi7 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu67 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-6 \
|
||||||
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvpx6 \
|
||||||
|
libwebp-dev \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -594,6 +806,17 @@ RUN set -eux \
|
|||||||
### Post Install
|
### Post Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
# ---------- oci8 ----------
|
# ---------- oci8 ----------
|
||||||
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
@@ -622,6 +845,10 @@ RUN set -eux \
|
|||||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
&& rm -f /usr/local/etc/php/php.ini \
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
\
|
\
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
&& php-fpm -m | grep -oiE '^bcmath$' \
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
&& php -m | grep -oiE '^bz2$' \
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
@@ -658,6 +885,12 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^hash$' \
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
&& php -m | grep -oiE '^iconv$' \
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
&& php-fpm -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 '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
&& php -m | grep -oiE '^intl$' \
|
&& php -m | grep -oiE '^intl$' \
|
||||||
&& php-fpm -m | grep -oiE '^intl$' \
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
&& php -m | grep -oiE '^json$' \
|
&& php -m | grep -oiE '^json$' \
|
||||||
@@ -668,6 +901,12 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -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$' \
|
||||||
@@ -676,6 +915,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^mysqli$' \
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
&& php -m | grep -oiE '^mysqlnd$' \
|
&& php -m | grep -oiE '^mysqlnd$' \
|
||||||
&& php-fpm -m | grep -oiE '^mysqlnd$' \
|
&& php-fpm -m | grep -oiE '^mysqlnd$' \
|
||||||
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
&& php-fpm -m | grep -oiE '^oci8$' \
|
&& php-fpm -m | grep -oiE '^oci8$' \
|
||||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
@@ -700,8 +941,12 @@ RUN set -eux \
|
|||||||
&& 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 '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
&& 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$' \
|
||||||
@@ -713,6 +958,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^redis$' \
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
&& php -m | grep -oiE '^reflection$' \
|
&& php -m | grep -oiE '^reflection$' \
|
||||||
&& php-fpm -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$' \
|
||||||
@@ -727,8 +974,14 @@ RUN set -eux \
|
|||||||
&& 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 '^solr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^solr$' \
|
||||||
&& php -m | grep -oiE '^spl$' \
|
&& php -m | grep -oiE '^spl$' \
|
||||||
&& php-fpm -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-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
&& php -m | grep -oiE '^sysvsem$' \
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
@@ -741,21 +994,34 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
&& php -m | grep -oiE '^uploadprogress$' \
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xml$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
&& php -m | grep -oiE '^xmlreader$' \
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
&& php-fpm -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 -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
&& php -m | grep -oiE '^xsl$' \
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zip$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
|
|||||||
1005
Dockerfiles/mods/Dockerfile-8.1
Normal file
1005
Dockerfiles/mods/Dockerfile-8.1
Normal file
File diff suppressed because it is too large
Load Diff
992
Dockerfiles/mods/Dockerfile-8.2
Normal file
992
Dockerfiles/mods/Dockerfile-8.2
Normal file
@@ -0,0 +1,992 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-base as builder
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
alien \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
libaio-dev \
|
||||||
|
libavif-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-2-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libib-util \
|
||||||
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libpcre3-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
libwebp6 \
|
||||||
|
libxml2-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
ca-certificates \
|
||||||
|
git
|
||||||
|
|
||||||
|
|
||||||
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install and enable PHP modules
|
||||||
|
###
|
||||||
|
# Enable ffi if it exists
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \
|
||||||
|
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: amqp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: apcu --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install apcu \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: bcmath --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: bz2 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: calendar --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: dba --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: enchant --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: exif --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gettext --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: igbinary --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install igbinary \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imagick --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install imagick \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: intl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install memcache \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
||||||
|
&& cd /tmp/memcached \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout master \
|
||||||
|
# Custom: Install command
|
||||||
|
&& true \
|
||||||
|
# FIXME: This is a work-around to mitigate compile error with PHP 8.2
|
||||||
|
&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-memcached \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install mongodb \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: oauth --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install oauth \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable oauth \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
\
|
||||||
|
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
|
# Generic post-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: opcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Version specific pre-command
|
||||||
|
&& curl -sS https://raw.githubusercontent.com/php/php-src/php-8.0.6/ext/opcache/Optimizer/zend_dfg.h > /usr/local/include/php/Zend/Optimizer/zend_dfg.h \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pcntl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_firebird --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
\
|
||||||
|
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_pgsql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install pdo_sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pgsql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pspell --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: snmp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: soap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sockets --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Version specific pre-command
|
||||||
|
&& docker-php-ext-configure sockets \
|
||||||
|
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sodium --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvsem --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvshm --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: tidy --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/shivammathur/xdebug /tmp/xdebug \
|
||||||
|
&& cd /tmp/xdebug \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout fix-jmpznz \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-xdebug \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xsl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Fix php.ini settings for enabled extensions
|
||||||
|
RUN set -eux \
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
||||||
|
|
||||||
|
# Fix oracle dir for images that don't have oci installed
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir -p /usr/lib/oracle/
|
||||||
|
|
||||||
|
# Shrink everything down
|
||||||
|
RUN set -eux \
|
||||||
|
&& (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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-base as final
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-mods"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-mods"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-mods"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy artifacts from builder
|
||||||
|
###
|
||||||
|
ARG EXT_DIR
|
||||||
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
|
libaio1 \
|
||||||
|
libaspell15 \
|
||||||
|
libavif9 \
|
||||||
|
libc-client2007e \
|
||||||
|
libenchant-2-2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libffi7 \
|
||||||
|
libfreetype6 \
|
||||||
|
libicu67 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-6 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
libsybdb5 \
|
||||||
|
libtidy5deb1 \
|
||||||
|
libvpx6 \
|
||||||
|
libwebp-dev \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
ca-certificates \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& update-ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
# ---------- oci8 ----------
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /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 '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& 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 '^ffi$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ffi$' \
|
||||||
|
&& 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 '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& 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 '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& 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 '^oauth$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
|
&& 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 '^pdo_sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& 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 '^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 '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& 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 '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& 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 '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,12 +36,14 @@ RUN set -eux \
|
|||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -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 /var/log/supervisor \
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || 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/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
|||||||
99
Dockerfiles/prod/Dockerfile-8.1
Normal file
99
Dockerfiles/prod/Dockerfile-8.1
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.1-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-prod"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-prod"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-prod"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /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
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
99
Dockerfiles/prod/Dockerfile-8.2
Normal file
99
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-prod"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /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
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -88,6 +88,7 @@ set_postfix() {
|
|||||||
|
|
||||||
# Postfix catch-all
|
# Postfix catch-all
|
||||||
if [ "${enable_mail}" = "2" ]; then
|
if [ "${enable_mail}" = "2" ]; then
|
||||||
|
run "postconf -e 'myhostname=localhost'" "${debug}"
|
||||||
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
||||||
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
||||||
run "newaliases" "${debug}"
|
run "newaliases" "${debug}"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ disable_modules() {
|
|||||||
mod="$( echo "${mod}" | xargs )" # trim
|
mod="$( echo "${mod}" | xargs )" # trim
|
||||||
|
|
||||||
# Find all config files that enable that module
|
# Find all config files that enable that module
|
||||||
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}\.so" "${cfg_path}" || true )"
|
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}(\\.so)?\$" "${cfg_path}" || true )"
|
||||||
|
|
||||||
if [ -n "${files}" ]; then
|
if [ -n "${files}" ]; then
|
||||||
while read -r f; do
|
while read -r f; do
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ execute_custom_scripts() {
|
|||||||
if [ ! -d "${script_dir}" ]; then
|
if [ ! -d "${script_dir}" ]; then
|
||||||
run "mkdir -p ${script_dir}" "${debug}"
|
run "mkdir -p ${script_dir}" "${debug}"
|
||||||
fi
|
fi
|
||||||
script_files="$( find -L "${script_dir}" -type f -iname '*.sh' )"
|
script_files="$( find -L "${script_dir}" -type f -iname '*.sh' | sort -n )"
|
||||||
|
|
||||||
# loop over them line by line
|
# loop over them line by line
|
||||||
IFS='
|
IFS='
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ pidfile = /var/run/supervisord.pid
|
|||||||
childlogdir = /var/log/supervisor
|
childlogdir = /var/log/supervisor
|
||||||
|
|
||||||
[include]
|
[include]
|
||||||
files = /etc/supervisor/conf.d/*.conf
|
files = /etc/supervisor/conf.d/*.conf /etc/supervisor/custom.d/*.conf
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,28 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://archive.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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 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 -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +89,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,11 +100,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -102,6 +121,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -116,7 +136,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -135,7 +155,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -173,25 +193,25 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -220,21 +240,21 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -321,6 +341,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -339,6 +365,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -353,18 +380,15 @@ RUN set -eux \
|
|||||||
# -------------------- mixlib_config --------------------
|
# -------------------- mixlib_config --------------------
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
\
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
# -------------------- rb_inotify --------------------
|
# -------------------- rb_inotify --------------------
|
||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -380,13 +404,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -403,7 +427,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -439,39 +466,40 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -482,6 +510,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,28 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://archive.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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 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 -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +89,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,11 +100,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -102,6 +121,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -116,7 +136,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -129,7 +149,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -138,7 +163,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -175,7 +200,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -190,25 +215,25 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -249,31 +274,37 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -282,7 +313,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& 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 \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -328,11 +359,11 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -371,6 +402,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -389,6 +426,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -403,18 +441,15 @@ RUN set -eux \
|
|||||||
# -------------------- mixlib_config --------------------
|
# -------------------- mixlib_config --------------------
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
\
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
# -------------------- rb_inotify --------------------
|
# -------------------- rb_inotify --------------------
|
||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -430,13 +465,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -453,7 +488,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -489,46 +527,48 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -539,6 +579,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,28 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://archive.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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 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 -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +89,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,11 +100,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -102,6 +121,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -116,7 +136,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -129,7 +149,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -138,7 +163,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -170,7 +195,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -179,7 +204,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -193,7 +218,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -208,36 +233,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -278,35 +303,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -315,7 +347,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -361,11 +393,11 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -404,6 +436,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -422,6 +460,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -436,18 +475,15 @@ RUN set -eux \
|
|||||||
# -------------------- mixlib_config --------------------
|
# -------------------- mixlib_config --------------------
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
\
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
# -------------------- rb_inotify --------------------
|
# -------------------- rb_inotify --------------------
|
||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -463,13 +499,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -486,7 +522,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -522,50 +561,52 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.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][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -576,6 +617,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,28 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://archive.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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 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 -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +89,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,11 +100,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -102,6 +121,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -116,7 +136,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -129,7 +149,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -138,7 +163,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -170,7 +195,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -179,7 +204,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -193,7 +218,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -202,7 +227,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="https://github.com/hechoendrupal/drupal-console-launcher/releases/download/1.9.4/drupal.phar" \
|
||||||
|
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
|
||||||
&& chmod +x /usr/local/bin/drupal \
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -212,36 +238,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -283,35 +309,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -320,7 +353,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -366,23 +399,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -421,6 +454,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -439,6 +478,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -453,18 +493,15 @@ RUN set -eux \
|
|||||||
# -------------------- mixlib_config --------------------
|
# -------------------- mixlib_config --------------------
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
\
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
# -------------------- rb_inotify --------------------
|
# -------------------- rb_inotify --------------------
|
||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -480,13 +517,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -503,7 +540,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -539,54 +579,56 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.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][.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -597,6 +639,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,8 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
zsh-common \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,7 +151,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -137,7 +165,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +197,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +206,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +220,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -206,7 +234,7 @@ RUN set -eux \
|
|||||||
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress' \
|
||||||
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
||||||
&& rm -rf /usr/local/src/drush9/.git \
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
&& rm -rf /usr/local/src/drush9/docs \
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
@@ -215,7 +243,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="https://github.com/hechoendrupal/drupal-console-launcher/releases/download/1.9.4/drupal.phar" \
|
||||||
|
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
|
||||||
&& chmod +x /usr/local/bin/drupal \
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -225,36 +254,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -296,35 +325,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -333,7 +369,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -379,23 +415,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -434,6 +470,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -452,6 +494,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -472,12 +515,6 @@ RUN set -eux \
|
|||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -493,13 +530,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -516,7 +553,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -552,55 +592,57 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.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][.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -611,6 +653,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,8 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
zsh-common \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,7 +151,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -137,7 +165,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +197,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +206,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +220,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -200,24 +228,6 @@ RUN set -eux \
|
|||||||
&& rm -rf /usr/local/src/drush8/misc \
|
&& 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 --------------------
|
# -------------------- gitflow --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
@@ -225,36 +235,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -296,35 +306,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -333,7 +350,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -379,23 +396,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -434,6 +451,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -452,6 +475,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -472,12 +496,6 @@ RUN set -eux \
|
|||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -493,13 +511,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -516,7 +534,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -552,55 +573,55 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
|
||||||
&& phpcs --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+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -611,6 +632,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,7 +150,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -137,7 +164,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +196,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +205,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +219,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -200,24 +227,6 @@ RUN set -eux \
|
|||||||
&& rm -rf /usr/local/src/drush8/misc \
|
&& 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 --------------------
|
# -------------------- gitflow --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
@@ -225,36 +234,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 tag | grep '^v2\.3\.' | sort -u | tail -1) \
|
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
|
||||||
\
|
\
|
||||||
&& 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -296,35 +305,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -333,7 +349,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -379,23 +395,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -434,6 +450,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -452,6 +474,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -470,13 +493,7 @@ RUN set -eux \
|
|||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
@@ -493,13 +510,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -516,7 +533,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -552,55 +572,55 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
|
||||||
&& phpcs --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+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -611,6 +631,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,7 +150,12 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -137,7 +164,7 @@ RUN set -eux \
|
|||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +196,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +205,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +219,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -206,7 +233,7 @@ RUN set -eux \
|
|||||||
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress' \
|
||||||
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
||||||
&& rm -rf /usr/local/src/drush9/.git \
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
&& rm -rf /usr/local/src/drush9/docs \
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
@@ -215,7 +242,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
|
||||||
|
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
|
||||||
&& chmod +x /usr/local/bin/drupal \
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -225,36 +253,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 v4.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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -286,7 +314,7 @@ RUN set -eux \
|
|||||||
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
&& cd /usr/local/src/phalcon-devtools \
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
&& composer install \
|
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
||||||
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||||
@@ -297,35 +325,42 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -334,7 +369,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -380,23 +415,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -435,6 +470,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -453,6 +494,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -471,13 +513,7 @@ RUN set -eux \
|
|||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
@@ -494,13 +530,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -517,7 +553,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -553,55 +592,57 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.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][.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -612,6 +653,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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/ bullseye-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,16 +150,22 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libpython-dev \
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +197,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +206,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +220,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -206,7 +234,7 @@ RUN set -eux \
|
|||||||
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress' \
|
||||||
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
||||||
&& rm -rf /usr/local/src/drush9/.git \
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
&& rm -rf /usr/local/src/drush9/docs \
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
@@ -215,7 +243,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
|
||||||
|
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
|
||||||
&& chmod +x /usr/local/bin/drupal \
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -225,36 +254,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -282,36 +311,57 @@ RUN set -eux \
|
|||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phalcon --------------------
|
||||||
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
||||||
|
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||||
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
|
&& chmod +x phalcon \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- php-cs-fixer --------------------
|
# -------------------- 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 \
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer \
|
||||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -320,7 +370,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -366,23 +416,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -421,6 +471,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -439,6 +495,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -457,13 +514,7 @@ RUN set -eux \
|
|||||||
&& gem install rb-inotify -v 0.9.10 \
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
\
|
\
|
||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
@@ -480,13 +531,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -503,7 +554,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -539,54 +593,57 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.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][.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -597,6 +654,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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/ bullseye-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,16 +150,22 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libpython-dev \
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +197,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- drush7 --------------------
|
# -------------------- drush7 --------------------
|
||||||
@@ -178,7 +206,7 @@ RUN set -eux \
|
|||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
@@ -192,7 +220,7 @@ RUN set -eux \
|
|||||||
&& 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' ) \
|
&& 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 \
|
&& 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' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
@@ -206,7 +234,7 @@ RUN set -eux \
|
|||||||
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress' \
|
||||||
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
|
||||||
&& rm -rf /usr/local/src/drush9/.git \
|
&& rm -rf /usr/local/src/drush9/.git \
|
||||||
&& rm -rf /usr/local/src/drush9/docs \
|
&& rm -rf /usr/local/src/drush9/docs \
|
||||||
@@ -215,7 +243,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
|
||||||
|
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
|
||||||
&& chmod +x /usr/local/bin/drupal \
|
&& chmod +x /usr/local/bin/drupal \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -225,36 +254,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
\
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -282,31 +311,57 @@ RUN set -eux \
|
|||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- phalcon --------------------
|
||||||
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
||||||
|
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||||
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
|
&& chmod +x phalcon \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v3.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- phpunit --------------------
|
# -------------------- phpunit --------------------
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -315,7 +370,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -361,23 +416,23 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- asgardcms --------------------
|
# -------------------- asgardcms --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require asgardcms/asgardcms-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- codeception --------------------
|
# -------------------- codeception --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- lumen --------------------
|
# -------------------- lumen --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- photon --------------------
|
# -------------------- photon --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \
|
||||||
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
# -------------------- prestissimo --------------------
|
# -------------------- prestissimo --------------------
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -416,6 +471,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -434,6 +495,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -454,12 +516,6 @@ RUN set -eux \
|
|||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -475,13 +531,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -498,7 +554,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -534,53 +593,57 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& drush9 --version | grep -E '9[.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][.0-9]' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.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][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \
|
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.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][.0-9]+$' \
|
||||||
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \
|
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
|
||||||
&& photon --version | grep -E 'Installer [.0-9]+' \
|
&& photon --version | grep -E 'Installer [0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -591,6 +654,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Envs
|
### Envs
|
||||||
###
|
###
|
||||||
@@ -32,27 +45,30 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& echo "deb http://ftp.debian.org/debian stretch-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 - \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 \
|
&& 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 \
|
&& 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_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.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 - \
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | 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/ bullseye-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 - \
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +78,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +90,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,11 +101,14 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
@@ -101,6 +122,7 @@ RUN set -eux \
|
|||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -115,7 +137,7 @@ RUN set -eux \
|
|||||||
zip \
|
zip \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& 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/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
@@ -128,16 +150,22 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- composer --------------------
|
# -------------------- composer --------------------
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libpython-dev \
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- nvm --------------------
|
# -------------------- nvm --------------------
|
||||||
@@ -169,7 +197,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- deployer --------------------
|
# -------------------- deployer --------------------
|
||||||
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
@@ -179,25 +207,36 @@ RUN set -eux \
|
|||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
|
\
|
||||||
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
|
\
|
||||||
# -------------------- linkcheck --------------------
|
# -------------------- linkcheck --------------------
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /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 --------------------
|
# -------------------- mhsendmail --------------------
|
||||||
&& wget https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 \
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
\
|
\
|
||||||
@@ -226,25 +265,37 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcs --------------------
|
# -------------------- phpcs --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- phpcbf --------------------
|
# -------------------- phpcbf --------------------
|
||||||
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v3.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- symfony --------------------
|
# -------------------- symfony --------------------
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
\
|
\
|
||||||
# -------------------- wkhtmltopdf --------------------
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
\
|
\
|
||||||
@@ -253,7 +304,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- wpcli --------------------
|
# -------------------- wpcli --------------------
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
&& curl -sS -L --fail 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 \
|
||||||
\
|
\
|
||||||
# -------------------- cleanup --------------------
|
# -------------------- cleanup --------------------
|
||||||
@@ -335,6 +386,12 @@ RUN set -eux \
|
|||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
\
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
# -------------------- vue_cli --------------------
|
# -------------------- vue_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
@@ -353,6 +410,7 @@ RUN set -eux \
|
|||||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& rm -rf /home/devilbox/.config \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
@@ -373,12 +431,6 @@ RUN set -eux \
|
|||||||
# -------------------- mdl --------------------
|
# -------------------- mdl --------------------
|
||||||
&& gem install mdl -v 0.5.0 \
|
&& gem install mdl -v 0.5.0 \
|
||||||
\
|
\
|
||||||
# -------------------- scss_lint --------------------
|
|
||||||
&& gem install scss_lint -v 0.57.1 \
|
|
||||||
\
|
|
||||||
# -------------------- sass --------------------
|
|
||||||
&& gem install sass \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.gem \
|
&& rm -rf /root/.gem \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
@@ -394,13 +446,13 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
# -------------------- ansible --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
\
|
\
|
||||||
# -------------------- yamllint --------------------
|
# -------------------- yamllint --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
\
|
\
|
||||||
# -------------------- yq --------------------
|
# -------------------- yq --------------------
|
||||||
&& pip install --no-cache-dir --force-reinstall yq \
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
&& rm -rf /root/.cache/pip \
|
&& rm -rf /root/.cache/pip \
|
||||||
@@ -417,7 +469,10 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:\${HOME}/.yarn/bin:/opt/nvm/versions/node/\$(nvm version default)/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -453,43 +508,47 @@ RUN set -eux \
|
|||||||
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- Software --------------------
|
# -------------------- Software --------------------
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
\
|
\
|
||||||
# -------------------- NPM --------------------
|
# -------------------- NPM --------------------
|
||||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& vue --version | grep -E '[.0-9]+' \
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- GEM --------------------
|
# -------------------- GEM --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
&& rm -rf /root/.ansible \
|
&& rm -rf /root/.ansible \
|
||||||
&& rm -rf /root/.console \
|
&& rm -rf /root/.console \
|
||||||
@@ -500,6 +559,13 @@ RUN set -eux \
|
|||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy files
|
### Copy files
|
||||||
###
|
###
|
||||||
|
|||||||
605
Dockerfiles/work/Dockerfile-8.1
Normal file
605
Dockerfiles/work/Dockerfile-8.1
Normal file
@@ -0,0 +1,605 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.1-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | 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 -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
mongodb-org-shell \
|
||||||
|
mongodb-org-tools \
|
||||||
|
moreutils \
|
||||||
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
postgresql-client \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
yarn \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
||||||
|
&& cd /opt/nvm \
|
||||||
|
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox /opt/nvm \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
|
\
|
||||||
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > 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 --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v3.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail 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 \
|
||||||
|
\
|
||||||
|
# -------------------- 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}/.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/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.gem || true ) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
|
&& rm -rf /home/devilbox/.config \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.gem \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- ansible --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
|
\
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.cache/pip \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /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 -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
|
&& rm -rf /root/.ansible \
|
||||||
|
&& rm -rf /root/.console \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.pm2 \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.1.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
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
587
Dockerfiles/work/Dockerfile-8.2
Normal file
587
Dockerfiles/work/Dockerfile-8.2
Normal file
@@ -0,0 +1,587 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | 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 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | 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 -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
mongodb-org-shell \
|
||||||
|
mongodb-org-tools \
|
||||||
|
moreutils \
|
||||||
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
postgresql-client \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
yarn \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
||||||
|
&& cd /opt/nvm \
|
||||||
|
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox /opt/nvm \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > 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 --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail 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 \
|
||||||
|
\
|
||||||
|
# -------------------- 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}/.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/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.gem || true ) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
|
&& rm -rf /home/devilbox/.config \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.gem \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- ansible --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
|
\
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.cache/pip \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || 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"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
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 -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /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 -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
|
&& rm -rf /root/.ansible \
|
||||||
|
&& rm -rf /root/.console \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.pm2 \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.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
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.1.conf
Normal file
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.1.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
|
||||||
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.2.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
|
||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = On
|
display_startup_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = On
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
48
Dockerfiles/work/data/php-ini.d/php-8.1.ini
Normal file
48
Dockerfiles/work/data/php-ini.d/php-8.1.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.1-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.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
48
Dockerfiles/work/data/php-ini.d/php-8.2.ini
Normal file
48
Dockerfiles/work/data/php-ini.d/php-8.2.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.2-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.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
@@ -4,4 +4,3 @@ Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/loca
|
|||||||
|
|
||||||
# Allow devilbox user to do anything without password
|
# Allow devilbox user to do anything without password
|
||||||
%devilbox ALL=(ALL) NOPASSWD: ALL
|
%devilbox ALL=(ALL) NOPASSWD: ALL
|
||||||
|
|
||||||
|
|||||||
142
Makefile
142
Makefile
@@ -7,6 +7,8 @@ endif
|
|||||||
# Docker configuration
|
# Docker configuration
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CURRENT_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||||
|
|
||||||
DIR = Dockerfiles
|
DIR = Dockerfiles
|
||||||
IMAGE = devilbox/php-fpm
|
IMAGE = devilbox/php-fpm
|
||||||
NO_CACHE =
|
NO_CACHE =
|
||||||
@@ -15,6 +17,11 @@ PHP_EXT_DIR =
|
|||||||
# Run checks after each module has been installed (slow, but yields errors faster)
|
# Run checks after each module has been installed (slow, but yields errors faster)
|
||||||
FAIL_FAST = False
|
FAIL_FAST = False
|
||||||
|
|
||||||
|
# File lint
|
||||||
|
FL_VERSION = 0.3
|
||||||
|
FL_IGNORES = .git/,.github/
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# DEFAULT TARGET
|
# DEFAULT TARGET
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
@@ -31,6 +38,8 @@ help:
|
|||||||
@echo "Targets"
|
@echo "Targets"
|
||||||
@echo "--------------------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------------------"
|
||||||
@echo
|
@echo
|
||||||
|
@echo "lint Lint project files and repository"
|
||||||
|
@echo
|
||||||
@echo "gen-readme [VERSION=] Update README with PHP modules from built images."
|
@echo "gen-readme [VERSION=] Update README with PHP modules from built images."
|
||||||
@echo "gen-dockerfiles [FAIL_FAST=] Generate Dockerfiles from templates."
|
@echo "gen-dockerfiles [FAIL_FAST=] Generate Dockerfiles from templates."
|
||||||
@echo
|
@echo
|
||||||
@@ -54,7 +63,7 @@ help:
|
|||||||
@echo "--------------------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------------------"
|
||||||
@echo
|
@echo
|
||||||
@echo "VERSION One of '5.2', '5.3', '5.4', '5.5', '5.6', '7.0',"
|
@echo "VERSION One of '5.2', '5.3', '5.4', '5.5', '5.6', '7.0',"
|
||||||
@echo " '7.1', '7.2', '7.3', '7.4', '8.0'."
|
@echo " '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2'."
|
||||||
@echo " For gen-readme target it is optional and if not"
|
@echo " For gen-readme target it is optional and if not"
|
||||||
@echo " specified, it will generate for all versions."
|
@echo " specified, it will generate for all versions."
|
||||||
@echo
|
@echo
|
||||||
@@ -67,21 +76,86 @@ help:
|
|||||||
@echo "ARGS Can be added to all build-* and rebuild-* targets"
|
@echo "ARGS Can be added to all build-* and rebuild-* targets"
|
||||||
@echo " to supply additional docker build options."
|
@echo " to supply additional docker build options."
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Lint Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
lint: lint-files
|
||||||
|
lint: lint-yaml
|
||||||
|
lint: lint-changelog
|
||||||
|
lint: lint-workflow
|
||||||
|
|
||||||
|
lint-workflow:
|
||||||
|
@echo "################################################################################"
|
||||||
|
@echo "# Lint Workflow"
|
||||||
|
@echo "################################################################################"
|
||||||
|
@\
|
||||||
|
GIT_CURR_MAJOR="$$( git tag | sort -V | tail -1 | sed 's|\.[0-9]*$$||g' )"; \
|
||||||
|
GIT_CURR_MINOR="$$( git tag | sort -V | tail -1 | sed 's|^[0-9]*\.||g' )"; \
|
||||||
|
GIT_NEXT_TAG="$${GIT_CURR_MAJOR}.$$(( GIT_CURR_MINOR + 1 ))"; \
|
||||||
|
if ! grep 'refs:' -A 100 .github/workflows/nightly.yml \
|
||||||
|
| grep " - '$${GIT_NEXT_TAG}'" >/dev/null; then \
|
||||||
|
echo "[ERR] New Tag required in .github/workflows/nightly.yml: $${GIT_NEXT_TAG}"; \
|
||||||
|
exit 1; \
|
||||||
|
else \
|
||||||
|
echo "[OK] Git Tag present in .github/workflows/nightly.yml: $${GIT_NEXT_TAG}"; \
|
||||||
|
fi
|
||||||
|
@echo
|
||||||
|
|
||||||
|
lint-changelog:
|
||||||
|
@echo "################################################################################"
|
||||||
|
@echo "# Lint Changelog"
|
||||||
|
@echo "################################################################################"
|
||||||
|
@\
|
||||||
|
GIT_CURR_MAJOR="$$( git tag | sort -V | tail -1 | sed 's|\.[0-9]*$$||g' )"; \
|
||||||
|
GIT_CURR_MINOR="$$( git tag | sort -V | tail -1 | sed 's|^[0-9]*\.||g' )"; \
|
||||||
|
GIT_NEXT_TAG="$${GIT_CURR_MAJOR}.$$(( GIT_CURR_MINOR + 1 ))"; \
|
||||||
|
if ! grep -E "^## Release $${GIT_NEXT_TAG}$$" CHANGELOG.md >/dev/null; then \
|
||||||
|
echo "[ERR] Missing '## Release $${GIT_NEXT_TAG}' section in CHANGELOG.md"; \
|
||||||
|
exit 1; \
|
||||||
|
else \
|
||||||
|
echo "[OK] Section '## Release $${GIT_NEXT_TAG}' present in CHANGELOG.md"; \
|
||||||
|
fi
|
||||||
|
@echo
|
||||||
|
|
||||||
|
lint-files:
|
||||||
|
@echo "################################################################################"
|
||||||
|
@echo "# Lint Files"
|
||||||
|
@echo "################################################################################"
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-cr --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-crlf --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-trailing-single-newline --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-trailing-space --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-utf8 --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/file-lint:$(FL_VERSION) file-utf8-bom --text --ignore '$(FL_IGNORES)' --path .
|
||||||
|
@echo
|
||||||
|
|
||||||
|
lint-yaml:
|
||||||
|
@# Lint all files
|
||||||
|
@echo "################################################################################"
|
||||||
|
@echo "# Lint Yaml"
|
||||||
|
@echo "################################################################################"
|
||||||
|
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(CURRENT_DIR):/data cytopia/yamllint .
|
||||||
|
@echo
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# GENERATE TARGETS
|
# GENERATE TARGETS
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
gen-readme:
|
gen-readme:
|
||||||
ifeq ($(strip $(VERSION)),)
|
ifeq ($(strip $(VERSION)),)
|
||||||
|
@echo "Generate README.md for all PHP versions"
|
||||||
cd build; ./gen-readme.sh
|
cd build; ./gen-readme.sh
|
||||||
else
|
else
|
||||||
|
@echo "Generate README.md for PHP $(VERSION)"
|
||||||
@$(MAKE) --no-print-directory _check-version
|
@$(MAKE) --no-print-directory _check-version
|
||||||
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base
|
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base
|
||||||
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods
|
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods
|
||||||
cd build; ./gen-readme.sh ${VERSION}
|
cd build; ./gen-readme.sh $(VERSION)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
gen-dockerfiles:
|
gen-dockerfiles:
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
$$(tty -s && echo "-it" || echo) \
|
$$(tty -s && echo "-it" || echo) \
|
||||||
@@ -90,8 +164,8 @@ gen-dockerfiles:
|
|||||||
-e MY_GID=$$(id -g) \
|
-e MY_GID=$$(id -g) \
|
||||||
-v ${PWD}:/data \
|
-v ${PWD}:/data \
|
||||||
-w /data/build/ansible \
|
-w /data/build/ansible \
|
||||||
cytopia/ansible:2.6-tools ansible-playbook generate.yml \
|
cytopia/ansible:2.8-tools ansible-playbook generate.yml \
|
||||||
-e ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python3.6/site-packages/ansible_mitogen/plugins/strategy \
|
-e ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python3.8/site-packages/ansible_mitogen/plugins/strategy \
|
||||||
-e ANSIBLE_STRATEGY=mitogen_linear \
|
-e ANSIBLE_STRATEGY=mitogen_linear \
|
||||||
-e ansible_python_interpreter=/usr/bin/python3 \
|
-e ansible_python_interpreter=/usr/bin/python3 \
|
||||||
-e \"{build_fail_fast: $(FAIL_FAST)}\" \
|
-e \"{build_fail_fast: $(FAIL_FAST)}\" \
|
||||||
@@ -178,6 +252,7 @@ build-work:
|
|||||||
# REBUILD TARGETS
|
# REBUILD TARGETS
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rebuild-base: _pull-base-image
|
||||||
rebuild-base: NO_CACHE=--no-cache
|
rebuild-base: NO_CACHE=--no-cache
|
||||||
rebuild-base: build-base
|
rebuild-base: build-base
|
||||||
|
|
||||||
@@ -226,6 +301,52 @@ test-work: _check-version
|
|||||||
./tests/test.sh ${VERSION} work
|
./tests/test.sh ${VERSION} work
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# DOCKERHUB TARGETS
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
login:
|
||||||
|
ifeq ($(strip $(USERNAME)),)
|
||||||
|
@$(info This make target requires the USERNAME variable to be set.)
|
||||||
|
@$(info make login USERNAME= PASSWORD=)
|
||||||
|
@$(info )
|
||||||
|
@$(error Exiting)
|
||||||
|
endif
|
||||||
|
ifeq ($(strip $(PASSWORD)),)
|
||||||
|
@$(info This make target requires the PASSWORD variable to be set.)
|
||||||
|
@$(info make login USERNAME= PASSWORD=)
|
||||||
|
@$(info )
|
||||||
|
@$(error Exiting)
|
||||||
|
endif
|
||||||
|
@yes | docker login --username $(USERNAME) --password $(PASSWORD)
|
||||||
|
|
||||||
|
|
||||||
|
push:
|
||||||
|
ifeq ($(strip $(TAG)),)
|
||||||
|
@$(info This make target requires the TAG variable to be set.)
|
||||||
|
@$(info make push TAG=)
|
||||||
|
@$(info )
|
||||||
|
@$(error Exiting)
|
||||||
|
endif
|
||||||
|
docker push $(IMAGE):$(TAG)
|
||||||
|
|
||||||
|
|
||||||
|
tag:
|
||||||
|
ifeq ($(strip $(OLD_TAG)),)
|
||||||
|
@$(info This make target requires the OLD_TAG variable to be set.)
|
||||||
|
@$(info make tag OLD_TAG= NEW_TAG=)
|
||||||
|
@$(info )
|
||||||
|
@$(error Exiting)
|
||||||
|
endif
|
||||||
|
ifeq ($(strip $(NEW_TAG)),)
|
||||||
|
@$(info This make target requires the NEW_TAG variable to be set.)
|
||||||
|
@$(info make tag OLD_TAG= NEW_TAG=)
|
||||||
|
@$(info )
|
||||||
|
@$(error Exiting)
|
||||||
|
endif
|
||||||
|
docker tag $(IMAGE):$(OLD_TAG) $(IMAGE):$(NEW_TAG)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# HELPER TARGETS
|
# HELPER TARGETS
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
@@ -259,7 +380,11 @@ ifeq ($(VERSION),7.4)
|
|||||||
else
|
else
|
||||||
ifeq ($(VERSION),8.0)
|
ifeq ($(VERSION),8.0)
|
||||||
else
|
else
|
||||||
@$(info VERSION can only be: '5.2', '5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4' or '8.0')
|
ifeq ($(VERSION),8.1)
|
||||||
|
else
|
||||||
|
ifeq ($(VERSION),8.2)
|
||||||
|
else
|
||||||
|
@$(info VERSION can only be: '5.2', '5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1' or '8.2')
|
||||||
@$(info )
|
@$(info )
|
||||||
@$(error Exiting)
|
@$(error Exiting)
|
||||||
endif
|
endif
|
||||||
@@ -273,6 +398,9 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
@echo "Version $(VERSION) is valid"
|
||||||
|
|
||||||
|
|
||||||
_check-image-exists:
|
_check-image-exists:
|
||||||
@@ -285,6 +413,6 @@ _check-image-exists:
|
|||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
|
||||||
_pull-root-image:
|
_pull-base-image:
|
||||||
@echo "Pulling root image for PHP ${VERSION}"
|
@echo "Pulling root image for PHP ${VERSION}"
|
||||||
@docker pull $(shell grep FROM $(DIR)/base/Dockerfile-${VERSION} | sed 's/^FROM\s*//g';)
|
@docker pull $(shell grep FROM $(DIR)/base/Dockerfile-${VERSION} | sed 's/^FROM\s*//g';)
|
||||||
|
|||||||
145
README.md
145
README.md
@@ -1,9 +1,8 @@
|
|||||||
# PHP-FPM Docker images
|
# PHP-FPM Docker images
|
||||||
|
|
||||||
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=Linting)
|
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=lint)
|
||||||
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-CI)
|
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=build)
|
||||||
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-Nightly)
|
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=nightly)
|
||||||
[](https://travis-ci.org/devilbox/docker-php-fpm)
|
|
||||||
[](https://github.com/devilbox/docker-php-fpm/releases)
|
[](https://github.com/devilbox/docker-php-fpm/releases)
|
||||||
[](https://gitter.im/devilbox/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/devilbox/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
[](https://devilbox.discourse.group)
|
[](https://devilbox.discourse.group)
|
||||||
@@ -25,6 +24,8 @@ Have a look at the following Devilbox base images for which no official versions
|
|||||||
* [PHP-FPM 5.3](https://github.com/devilbox/docker-php-fpm-5.3)
|
* [PHP-FPM 5.3](https://github.com/devilbox/docker-php-fpm-5.3)
|
||||||
* [PHP-FPM 7.4](https://github.com/devilbox/docker-php-fpm-7.4)
|
* [PHP-FPM 7.4](https://github.com/devilbox/docker-php-fpm-7.4)
|
||||||
* [PHP-FPM 8.0](https://github.com/devilbox/docker-php-fpm-8.0)
|
* [PHP-FPM 8.0](https://github.com/devilbox/docker-php-fpm-8.0)
|
||||||
|
* [PHP-FPM 8.1](https://github.com/devilbox/docker-php-fpm-8.1)
|
||||||
|
* [PHP-FPM 8.2](https://github.com/devilbox/docker-php-fpm-8.2)
|
||||||
|
|
||||||
#### Documentation
|
#### Documentation
|
||||||
|
|
||||||
@@ -113,7 +114,7 @@ One main problem with a running Docker container is to **synchronize the ownersh
|
|||||||
|
|
||||||
#### Unsynchronized permissions
|
#### Unsynchronized permissions
|
||||||
|
|
||||||
Consider the following directory structure of a mounted volume. Your hosts computer uid/gid are `1000` which does not have a corresponding user/group within the container. Fortunately the `tmp/` directory allows everybody to create new files in it.
|
Consider the following directory structure of a mounted volume. Your hosts computer uid/gid are `1000` which does not have a corresponding user/group within the container. Fortunately the `tmp/` directory allows everybody to create new files in it.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
[Host] | [Container]
|
[Host] | [Container]
|
||||||
@@ -221,7 +222,7 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="11"><strong>base</strong></td>
|
<td rowspan="13"><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>
|
||||||
@@ -297,9 +298,23 @@ 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:8.0-base.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.0-base.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.1-base</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.1-base.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-base.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-base</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-base.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-base.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="11"><strong>mods</strong></td>
|
<td rowspan="13"><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>
|
||||||
@@ -376,9 +391,23 @@ 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:8.0-mods.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.0-mods.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.1-mods</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.1-mods.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-mods.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-mods</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-mods.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-mods.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="11"><strong>prod</strong></td>
|
<td rowspan="13"><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>
|
||||||
@@ -455,9 +484,23 @@ 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:8.0-prod.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.0-prod.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.1-prod</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.1-prod.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-prod.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-prod</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-prod.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-prod.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="11"><strong>work</strong></td>
|
<td rowspan="13"><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>
|
||||||
@@ -534,6 +577,20 @@ 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:8.0-work.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.0-work.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.1-work</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.1-work.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-work.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-work</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-work.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-work.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -607,52 +664,62 @@ Check out this table to see which Docker image provides what PHP modules.
|
|||||||
<tr>
|
<tr>
|
||||||
<th>5.3</th>
|
<th>5.3</th>
|
||||||
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
||||||
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, 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>
|
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, 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, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, 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">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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, 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, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>7.4</th>
|
<th>7.4</th>
|
||||||
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
||||||
<td id="74-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="74-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, vips, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>8.0</th>
|
<th>8.0</th>
|
||||||
<td id="80-base">Core, ctype, curl, date, dom, FFI, 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="80-base">Core, ctype, curl, date, dom, FFI, 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="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, 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, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="80-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>8.1</th>
|
||||||
|
<td id="81-base">Core, ctype, curl, date, dom, FFI, 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="81-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>8.2</th>
|
||||||
|
<td id="82-base">Core, ctype, curl, date, dom, FFI, 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="82-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -674,6 +741,8 @@ 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
|
docker pull devilbox/php-fpm:7.4-base
|
||||||
docker pull devilbox/php-fpm:8.0-base
|
docker pull devilbox/php-fpm:8.0-base
|
||||||
|
docker pull devilbox/php-fpm:8.1-base
|
||||||
|
docker pull devilbox/php-fpm:8.2-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>
|
||||||
@@ -691,6 +760,8 @@ 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
|
docker pull devilbox/php-fpm:7.4-mods
|
||||||
docker pull devilbox/php-fpm:8.0-mods
|
docker pull devilbox/php-fpm:8.0-mods
|
||||||
|
docker pull devilbox/php-fpm:8.1-mods
|
||||||
|
docker pull devilbox/php-fpm:8.2-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>
|
||||||
@@ -708,6 +779,8 @@ 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
|
docker pull devilbox/php-fpm:7.4-prod
|
||||||
docker pull devilbox/php-fpm:8.0-prod
|
docker pull devilbox/php-fpm:8.0-prod
|
||||||
|
docker pull devilbox/php-fpm:8.1-prod
|
||||||
|
docker pull devilbox/php-fpm:8.2-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.
|
||||||
@@ -725,6 +798,8 @@ 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
|
docker pull devilbox/php-fpm:7.4-work
|
||||||
docker pull devilbox/php-fpm:8.0-work
|
docker pull devilbox/php-fpm:8.0-work
|
||||||
|
docker pull devilbox/php-fpm:8.1-work
|
||||||
|
docker pull devilbox/php-fpm:8.2-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.
|
||||||
@@ -786,7 +861,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=blackfire, 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, psr, phalcon</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>DISABLE_MODULES</code></td>
|
<td><code>DISABLE_MODULES</code></td>
|
||||||
@@ -845,7 +920,7 @@ Have a look at the following table to see all offered volumes for each Docker im
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="7"><strong>prod</strong><br/><br/><strong>work</strong></td>
|
<td rowspan="8"><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>
|
||||||
@@ -873,6 +948,10 @@ Have a look at the following table to see all offered volumes for each Docker im
|
|||||||
<td><code>/var/mail</code></td>
|
<td><code>/var/mail</code></td>
|
||||||
<td>Emails caught be the postfix catch-all (<code>ENABLE_MAIL=2</code>) will be available in this directory.</td>
|
<td>Emails caught be the postfix catch-all (<code>ENABLE_MAIL=2</code>) will be available in this directory.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>/etc/supervisor/custom.d</code></td>
|
||||||
|
<td>Mount this directory into your host computer and add your own `*.conf` supervisor start-up files.<br/><br/>**Note:** Directory and file permission will be recursively set to this of `NEW_UID` and `NEW_GID`.</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3"></td>
|
<td colspan="3"></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -936,7 +1015,7 @@ If you plan to use the PHP-FPM image for development, hence being able to execut
|
|||||||
|
|
||||||
The **work** Docker image has many common tools already installed which on one hand increases its image size, but on the other hand removes the necessity to install those tools locally.
|
The **work** Docker image has many common tools already installed which on one hand increases its image size, but on the other hand removes the necessity to install those tools locally.
|
||||||
|
|
||||||
You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpcs` as well as many others, simply do it directly inside the container. As all Docker images are auto-built every night by travis-ci it is assured that you are always at the latest version of your favorite dev tool.
|
You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpcs` as well as many others, simply do it directly inside the container. As all Docker images are auto-built every night by GitHub Actions it is assured that you are always at the latest version of your favorite dev tool.
|
||||||
|
|
||||||
|
|
||||||
#### What tools can you expect
|
#### What tools can you expect
|
||||||
@@ -1000,6 +1079,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://gruntjs.com/">grunt</a></td>
|
<td><a href="https://gruntjs.com/">grunt</a></td>
|
||||||
<td>Grunt command line JS tool.</td>
|
<td>Grunt command line JS tool.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://brew.sh/">Homebrew</a></td>
|
||||||
|
<td>The Missing Package Manager for macOS (or Linux).</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<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>
|
||||||
@@ -1016,10 +1099,6 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://github.com/cytopia/linkcheck">linkcheck</a></td>
|
<td><a href="https://github.com/cytopia/linkcheck">linkcheck</a></td>
|
||||||
<td>Search for URLs in files (optionally limited by extension) and validate their HTTP status code.</td>
|
<td>Search for URLs in files (optionally limited by extension) and validate their HTTP status code.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td><a href="http://linuxbrew.sh">linuxbrew</a></td>
|
|
||||||
<td>The Homebrew package manager for Linux.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/markdownlint/markdownlint">mdl</a></td>
|
<td><a href="https://github.com/markdownlint/markdownlint">mdl</a></td>
|
||||||
<td>Markdown command line linter.</td>
|
<td>Markdown command line linter.</td>
|
||||||
@@ -1056,6 +1135,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td><a href="https://github.com/FriendsOfPHP/PHP-CS-Fixer">php-cs-fixer</a></td>
|
<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>
|
<td>A tool to automatically fix PHP Coding Standards issues.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://phpmd.org">phpmd</a></td>
|
||||||
|
<td>PHP Mess Detector.</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>
|
||||||
@@ -1065,7 +1148,7 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
|
|||||||
<td>Sass CSS compiler.</td>
|
<td>Sass CSS compiler.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/brigade/scss-lint">scss-lint</a></td>
|
<td><a href="https://github.com/stylelint/stylelint">stylelint</a></td>
|
||||||
<td>Sass/CSS command line linter.</td>
|
<td>Sass/CSS command line linter.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -1134,7 +1217,10 @@ $ docker run -d \
|
|||||||
```shell
|
```shell
|
||||||
# Create config directory to be mounted with dummy configuration
|
# Create config directory to be mounted with dummy configuration
|
||||||
$ mkdir config
|
$ mkdir config
|
||||||
|
# Xdebug 2
|
||||||
$ echo "xdebug.enable = 1" > config/xdebug.ini
|
$ echo "xdebug.enable = 1" > config/xdebug.ini
|
||||||
|
# Xdebug 3
|
||||||
|
$ echo "xdebug.mode = debug" > config/xdebug.ini
|
||||||
|
|
||||||
# Run container and mount it
|
# Run container and mount it
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
@@ -1238,10 +1324,9 @@ $ docker exec -it php mysqldump-secure
|
|||||||
|
|
||||||
<h2><img id="automated-builds" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Automated builds</h2>
|
<h2><img id="automated-builds" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Automated builds</h2>
|
||||||
|
|
||||||
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-Nightly)
|
[](https://github.com/devilbox/docker-php-fpm/actions?workflow=nightly)
|
||||||
[](https://travis-ci.org/devilbox/docker-php-fpm)
|
|
||||||
|
|
||||||
Docker images are built and tested every night by **[travis-ci](https://travis-ci.org/devilbox/docker-php-fpm)** and pushed to **[Docker hub](https://hub.docker.com/r/devilbox/php-fpm/)** on success. This is all done automatically to ensure that sources as well as base images are always fresh and in case of security updates always have the latest patches.
|
Docker images are built and tested every night by **[GitHub Actions](https://github.com/devilbox/docker-php-fpm/actions?workflow=nightly)** and pushed to **[Docker hub](https://hub.docker.com/r/devilbox/php-fpm/)** on success. This is all done automatically to ensure that sources as well as base images are always fresh and in case of security updates always have the latest patches.
|
||||||
|
|
||||||
<h2><img id="contributing" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Contributing</h2>
|
<h2><img id="contributing" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Contributing</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -10,47 +10,53 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = {{ item.cfg[item.key].memory_limit | default(item.cfg[item.alt].memory_limit) }}
|
memory_limit = {{ item.cfg[item.key].memory_limit | default(item.cfg[item.alt].memory_limit) }}
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = {{ item.cfg[item.key].max_execution_time | default(item.cfg[item.alt].max_execution_time) }}
|
max_execution_time = {{ item.cfg[item.key].max_execution_time | default(item.cfg[item.alt].max_execution_time) }}
|
||||||
max_input_time = {{ item.cfg[item.key].max_input_time | default(item.cfg[item.alt].max_input_time) }}
|
max_input_time = {{ item.cfg[item.key].max_input_time | default(item.cfg[item.alt].max_input_time) }}
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = {{ item.cfg[item.key].post_max_size | default(item.cfg[item.alt].post_max_size) }}
|
post_max_size = {{ item.cfg[item.key].post_max_size | default(item.cfg[item.alt].post_max_size) }}
|
||||||
upload_max_filesize = {{ item.cfg[item.key].upload_max_filesize | default(item.cfg[item.alt].upload_max_filesize) }}
|
upload_max_filesize = {{ item.cfg[item.key].upload_max_filesize | default(item.cfg[item.alt].upload_max_filesize) }}
|
||||||
max_file_uploads = {{ item.cfg[item.key].max_file_uploads | default(item.cfg[item.alt].max_file_uploads) }}
|
max_file_uploads = {{ item.cfg[item.key].max_file_uploads | default(item.cfg[item.alt].max_file_uploads) }}
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = {{ item.cfg[item.key].variables_order | default(item.cfg[item.alt].variables_order) }}
|
variables_order = {{ item.cfg[item.key].variables_order | default(item.cfg[item.alt].variables_order) }}
|
||||||
{# Only available since PHP >=5.4 #}
|
{# Only available since PHP >=5.4 #}
|
||||||
{% if not (php_version == 5.2 or php_version == 5.3 ) %}
|
{% if not (php_version == 5.2 or php_version == 5.3 ) %}
|
||||||
max_input_vars = {{ item.cfg[item.key].max_input_vars | default(item.cfg[item.alt].max_input_vars) }}
|
max_input_vars = {{ item.cfg[item.key].max_input_vars | default(item.cfg[item.alt].max_input_vars) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
max_input_nesting_level = {{ item.cfg[item.key].max_input_nesting_level | default(item.cfg[item.alt].max_input_nesting_level) }}
|
max_input_nesting_level = {{ item.cfg[item.key].max_input_nesting_level | default(item.cfg[item.alt].max_input_nesting_level) }}
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = {{ item.cfg[item.key].error_reporting | default(item.cfg[item.alt].error_reporting) }}
|
error_reporting = {{ item.cfg[item.key].error_reporting | default(item.cfg[item.alt].error_reporting) }}
|
||||||
xmlrpc_errors = {{ item.cfg[item.key].xmlrpc_errors | default(item.cfg[item.alt].xmlrpc_errors) }}
|
xmlrpc_errors = {{ item.cfg[item.key].xmlrpc_errors | default(item.cfg[item.alt].xmlrpc_errors) }}
|
||||||
report_memleaks = {{ item.cfg[item.key].report_memleaks | default(item.cfg[item.alt].report_memleaks) }}
|
report_memleaks = {{ item.cfg[item.key].report_memleaks | default(item.cfg[item.alt].report_memleaks) }}
|
||||||
display_errors = {{ item.cfg[item.key].display_errors | default(item.cfg[item.alt].display_errors) }}
|
display_errors = {{ item.cfg[item.key].display_errors | default(item.cfg[item.alt].display_errors) }}
|
||||||
display_startup_errors = {{ item.cfg[item.key].display_startup_errors | default(item.cfg[item.alt].display_startup_errors) }}
|
display_startup_errors = {{ item.cfg[item.key].display_startup_errors | default(item.cfg[item.alt].display_startup_errors) }}
|
||||||
{# Only available before PHP 7.2 #}
|
{# Only available before PHP 7.2 #}
|
||||||
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
|
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
|
||||||
track_errors = {{ item.cfg[item.key].track_errors | default(item.cfg[item.alt].track_errors) }}
|
track_errors = {{ item.cfg[item.key].track_errors | default(item.cfg[item.alt].track_errors) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
log_errors = {{ item.cfg[item.key].log_errors | default(item.cfg[item.alt].log_errors) }}
|
log_errors = {{ item.cfg[item.key].log_errors | default(item.cfg[item.alt].log_errors) }}
|
||||||
html_errors = {{ item.cfg[item.key].html_errors | default(item.cfg[item.alt].html_errors) }}
|
html_errors = {{ item.cfg[item.key].html_errors | default(item.cfg[item.alt].html_errors) }}
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = {{ item.cfg[item.key].xdebug_default_enable | default(item.cfg[item.alt].xdebug_default_enable) }}
|
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
|
||||||
xdebug.profiler_enable = {{ item.cfg[item.key].xdebug_profiler_enable | default(item.cfg[item.alt].xdebug_profiler_enable) }}
|
xdebug.default_enable = {{ item.cfg[item.key].xdebug2_default_enable | default(item.cfg[item.alt].xdebug2_default_enable) }}
|
||||||
xdebug.remote_enable = {{ item.cfg[item.key].xdebug_remote_enable | default(item.cfg[item.alt].xdebug_remote_enable) }}
|
xdebug.profiler_enable = {{ item.cfg[item.key].xdebug2_profiler_enable | default(item.cfg[item.alt].xdebug2_profiler_enable) }}
|
||||||
xdebug.remote_autostart = {{ item.cfg[item.key].xdebug_remote_autostart | default(item.cfg[item.alt].xdebug_remote_autostart) }}
|
xdebug.remote_enable = {{ item.cfg[item.key].xdebug2_remote_enable | default(item.cfg[item.alt].xdebug2_remote_enable) }}
|
||||||
|
xdebug.remote_autostart = {{ item.cfg[item.key].xdebug2_remote_autostart | default(item.cfg[item.alt].xdebug2_remote_autostart) }}
|
||||||
|
{% else %}
|
||||||
|
xdebug.mode = {{ item.cfg[item.key].xdebug3_mode | default(item.cfg[item.alt].xdebug3_mode) }}
|
||||||
|
xdebug.start_with_request = {{ item.cfg[item.key].xdebug3_start_with_request | default(item.cfg[item.alt].xdebug3_start_with_request) }}
|
||||||
|
xdebug.client_port = {{ item.cfg[item.key].xdebug3_client_port | default(item.cfg[item.alt].xdebug3_client_port) }}
|
||||||
|
{% endif %}
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ FROM devilbox/php-fpm-5.2
|
|||||||
FROM devilbox/php-fpm-5.3
|
FROM devilbox/php-fpm-5.3
|
||||||
{% elif php_version == 8.0 %}
|
{% elif php_version == 8.0 %}
|
||||||
FROM devilbox/php-fpm-8.0
|
FROM devilbox/php-fpm-8.0
|
||||||
|
{% elif php_version == 8.1 %}
|
||||||
|
FROM devilbox/php-fpm-8.1
|
||||||
|
{% elif php_version == 8.2 %}
|
||||||
|
FROM devilbox/php-fpm-8.2
|
||||||
{% else %}
|
{% else %}
|
||||||
FROM php:{{ php_version }}-fpm
|
FROM php:{{ php_version }}-fpm
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -61,8 +65,8 @@ RUN set -eux \
|
|||||||
} | tee /etc/apt/sources.list
|
} | tee /etc/apt/sources.list
|
||||||
{% endif %}
|
{% endif %}
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user