mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-11 19:41:16 +00:00
Compare commits
450 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb046ddd2b | ||
|
|
e687ad15f2 | ||
|
|
70e3fc68ba | ||
|
|
e6564db96d | ||
|
|
b90a13482d | ||
|
|
397175aec8 | ||
|
|
90f5abc2fd | ||
|
|
79f087e21a | ||
|
|
b08e7d5c02 | ||
|
|
0a71f838f2 | ||
|
|
7e3db52406 | ||
|
|
05d8edb2fe | ||
|
|
a671401bf2 | ||
|
|
0d11c229d4 | ||
|
|
20f87ad3ce | ||
|
|
8a7ca18897 | ||
|
|
59b1197c75 | ||
|
|
12e51113a6 | ||
|
|
40c2db6633 | ||
|
|
b4bfb84dcf | ||
|
|
b7a52ff1bd | ||
|
|
9df90b3500 | ||
|
|
0bdc196f43 | ||
|
|
14f9ebe3b8 | ||
|
|
e0cb0c1f5d | ||
|
|
4b9739a99d | ||
|
|
9cbb2d3ddb | ||
|
|
82f9bc2c86 | ||
|
|
4ab9fff38b | ||
|
|
73734b4481 | ||
|
|
3610e5f602 | ||
|
|
a425b5fd82 | ||
|
|
e02e7781c7 | ||
|
|
b42b7789df | ||
|
|
70a19575bb | ||
|
|
e34a8a8792 | ||
|
|
7ed35f19a9 | ||
|
|
573d5fa2e2 | ||
|
|
17b98f785c | ||
|
|
46faa83583 | ||
|
|
a23cdcdfd0 | ||
|
|
b6883cf4be | ||
|
|
8334b38869 | ||
|
|
ed40a191df | ||
|
|
107b39f5a2 | ||
|
|
0b6187fe37 | ||
|
|
b9efb7b1c3 | ||
|
|
f9a5db2cee | ||
|
|
2471921a2a | ||
|
|
fd44d5a2ef | ||
|
|
e9852d26d8 | ||
|
|
465a0284c0 | ||
|
|
c906ff09e0 | ||
|
|
ee7b55fc0f | ||
|
|
cbc27ffffd | ||
|
|
f5f22904fb | ||
|
|
b5467210e1 | ||
|
|
b681725fa5 | ||
|
|
1b02bd11fe | ||
|
|
476a1dee47 | ||
|
|
8213301902 | ||
|
|
ca544c19d2 | ||
|
|
180edab57f | ||
|
|
a2b50e69fd | ||
|
|
b51e640932 | ||
|
|
d8eccbf21a | ||
|
|
4176a5dd70 | ||
|
|
83cc953e55 | ||
|
|
d0949e3fe9 | ||
|
|
ab8a549764 | ||
|
|
d26e6221c4 | ||
|
|
07267f20d0 | ||
|
|
0e4f51c82d | ||
|
|
c35c942bf8 | ||
|
|
a02163b6c1 | ||
|
|
35a3a9a486 | ||
|
|
b72f81edd9 | ||
|
|
a47265e482 | ||
|
|
880a6f17b8 | ||
|
|
b224ecfdd7 | ||
|
|
c17e49b849 | ||
|
|
9a981de73f | ||
|
|
beeff54815 | ||
|
|
6cb03a9890 | ||
|
|
0dc4bd6959 | ||
|
|
a8c3f2c655 | ||
|
|
2655813ab8 | ||
|
|
0011b2e6ed | ||
|
|
52c1a907f9 | ||
|
|
e19d955965 | ||
|
|
c0af9f91a6 | ||
|
|
5f8551e742 | ||
|
|
b774432a7a | ||
|
|
e856fe1da4 | ||
|
|
1ed1c7eb81 | ||
|
|
756b6bc0fe | ||
|
|
4e9969ef75 | ||
|
|
1b67f7b02d | ||
|
|
9fda4fd0a2 | ||
|
|
4858303a1b | ||
|
|
2e3115ef04 | ||
|
|
8989b52602 | ||
|
|
ee6b735f17 | ||
|
|
20b45a0b79 | ||
|
|
687969b59b | ||
|
|
111c8a412f | ||
|
|
1d27f22e3f | ||
|
|
4b8668623b | ||
|
|
7b7a680e0b | ||
|
|
49d9459df8 | ||
|
|
efad9eaa48 | ||
|
|
22231fc61c | ||
|
|
f971d8d4b8 | ||
|
|
5498275047 | ||
|
|
a6f9bd8219 | ||
|
|
ea47aa2ba5 | ||
|
|
5094da0ae6 | ||
|
|
38d4f0c222 | ||
|
|
853962c4e9 | ||
|
|
8d50798d54 | ||
|
|
b50a688add | ||
|
|
99bd1d2cdb | ||
|
|
ac368b8725 | ||
|
|
c815e9040c | ||
|
|
61ccae6fc1 | ||
|
|
f7699f9c84 | ||
|
|
1cab69c0ab | ||
|
|
2158817a05 | ||
|
|
29d34dcdb2 | ||
|
|
ff04507e50 | ||
|
|
a448549b82 | ||
|
|
e808575164 | ||
|
|
643e1a7478 | ||
|
|
f3758cec56 | ||
|
|
ec5d6734fa | ||
|
|
ab91e0794b | ||
|
|
b6f926cf8a | ||
|
|
1609e8ea61 | ||
|
|
389e0bad20 | ||
|
|
e48ceef4a6 | ||
|
|
b659089ff9 | ||
|
|
e8e92eceb7 | ||
|
|
14c25cf670 | ||
|
|
8679dbee6a | ||
|
|
6ccf44b5a9 | ||
|
|
2826053fc0 | ||
|
|
1eb30660a6 | ||
|
|
81ef92f91e | ||
|
|
663f716031 | ||
|
|
ea52cc0969 | ||
|
|
ee14a4d46e | ||
|
|
d894a2bff7 | ||
|
|
cdfca15613 | ||
|
|
d1061273b0 | ||
|
|
1c31dbe3bf | ||
|
|
7975126bdf | ||
|
|
ffaee357fd | ||
|
|
a0e7ae7131 | ||
|
|
7041e6ef0a | ||
|
|
176f48d063 | ||
|
|
dc15215156 | ||
|
|
7693a4ea3f | ||
|
|
4ac5a7ab10 | ||
|
|
2b60cd648d | ||
|
|
492d23b9f8 | ||
|
|
b852001495 | ||
|
|
5eb8ce8187 | ||
|
|
d1fd0addaa | ||
|
|
0aceceabda | ||
|
|
42933391b6 | ||
|
|
436babd549 | ||
|
|
abfeef2e5c | ||
|
|
896c8f6c80 | ||
|
|
7f71dd2493 | ||
|
|
8318b43d2f | ||
|
|
6a00f19e88 | ||
|
|
e97261bc87 | ||
|
|
06ac183215 | ||
|
|
0181f196f6 | ||
|
|
4e5da07e21 | ||
|
|
6c6470c181 | ||
|
|
80f03e7512 | ||
|
|
157945dada | ||
|
|
116aa387fb | ||
|
|
e33041ca55 | ||
|
|
2d489beb2c | ||
|
|
cb9437b4f3 | ||
|
|
9505770a8c | ||
|
|
919a6887a6 | ||
|
|
b352de6939 | ||
|
|
456447070a | ||
|
|
ac508caee4 | ||
|
|
6b4596688c | ||
|
|
98569594bf | ||
|
|
8b9dbdf36b | ||
|
|
fdc024fac3 | ||
|
|
f36d0818b0 | ||
|
|
361192deee | ||
|
|
b937b99641 | ||
|
|
a7b96c7cf5 | ||
|
|
45e25586e3 | ||
|
|
df59c7b7bc | ||
|
|
c18bac4387 | ||
|
|
0239ff0a78 | ||
|
|
02c8c9d6ec | ||
|
|
207b78df6f | ||
|
|
20c5b88e52 | ||
|
|
5585109fb8 | ||
|
|
2517c33bae | ||
|
|
b0c487ff28 | ||
|
|
e16fdce860 | ||
|
|
31489459ad | ||
|
|
64e290a359 | ||
|
|
e145f9cec8 | ||
|
|
40ac8e4ef0 | ||
|
|
1640850b75 | ||
|
|
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 | ||
|
|
f8f485b0bb | ||
|
|
3ad0330bca | ||
|
|
2587886b24 | ||
|
|
3ce6ed507b | ||
|
|
f05301572d | ||
|
|
40d76f355f | ||
|
|
9c1e49b814 | ||
|
|
c1aa814206 | ||
|
|
a382745a2f | ||
|
|
d9d6f2d157 | ||
|
|
9c82fb08c3 | ||
|
|
91733db9e9 | ||
|
|
41fec62672 | ||
|
|
3e9e00e0c2 | ||
|
|
d4a16ba3b3 |
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
github: [cytopia]
|
||||||
|
patreon: devilbox
|
||||||
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: nightly
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Nightly: At 00:00 on Monday, Wednesday, and Friday
|
||||||
|
schedule:
|
||||||
|
- cron: '0 18 * * 1,3,5'
|
||||||
|
# Dispatch: allows for manual trigger via GH UI
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (1/8) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params-nightly_master.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/8) Configure Build and Deploy Matrices
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
configure:
|
||||||
|
needs: [params]
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||||
|
with:
|
||||||
|
enabled: true
|
||||||
|
can_deploy: true
|
||||||
|
versions: ${{ needs.params.outputs.versions }}
|
||||||
|
refs: ${{ needs.params.outputs.refs }}
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (3/8) Build & Test base
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
pull_base_image: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
stage_prev: ''
|
||||||
|
|
||||||
|
test-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (4/8) Build & Test mods
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
stage_prev: base
|
||||||
|
|
||||||
|
test-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (5/8) Build & Test prod
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
stage_prev: mods
|
||||||
|
|
||||||
|
test-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (6/8) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/8) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/8) Push Manifests
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
manifest-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
298
.github/workflows/action-schedule_tags.yml
vendored
Normal file
298
.github/workflows/action-schedule_tags.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: nightly
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Nightly: At 18:00 on Sunday, Tuesday, and Thursday
|
||||||
|
schedule:
|
||||||
|
- cron: '0 18 * * 0,2,4'
|
||||||
|
# Dispatch: allows for manual trigger via GH UI
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (1/8) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params-nightly_tags.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/8) Configure Build and Deploy Matrices
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
configure:
|
||||||
|
needs: [params]
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||||
|
with:
|
||||||
|
enabled: true
|
||||||
|
can_deploy: true
|
||||||
|
versions: ${{ needs.params.outputs.versions }}
|
||||||
|
refs: ${{ needs.params.outputs.refs }}
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (3/8) Build & Test base
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
pull_base_image: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
stage_prev: ''
|
||||||
|
|
||||||
|
test-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (4/8) Build & Test mods
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
stage_prev: base
|
||||||
|
|
||||||
|
test-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (5/8) Build & Test prod
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
stage_prev: mods
|
||||||
|
|
||||||
|
test-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (6/8) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/8) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/8) Push Manifests
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
manifest-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
298
.github/workflows/action.yml
vendored
Normal file
298
.github/workflows/action.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: build
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Push or pull_request will be determined in jobs.configure.enabled
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
# Dispatch: allows for manual trigger via GH UI
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (1/8) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/8) Configure Build and Deploy Matrices
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
configure:
|
||||||
|
needs: [params]
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||||
|
with:
|
||||||
|
enabled: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && (github.event.pull_request.user.login != 'cytopia')) }}
|
||||||
|
can_deploy: ${{ (github.repository == 'devilbox/docker-php-fpm') && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release-')) }}
|
||||||
|
versions: ${{ needs.params.outputs.versions }}
|
||||||
|
refs: ${{ needs.params.outputs.refs }}
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (3/8) Build & Test base
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
pull_base_image: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
stage_prev: ''
|
||||||
|
|
||||||
|
test-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (4/8) Build & Test mods
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
stage_prev: base
|
||||||
|
|
||||||
|
test-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (5/8) Build & Test prod
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
stage_prev: mods
|
||||||
|
|
||||||
|
test-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (6/8) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
run_tests: false
|
||||||
|
upload_artifact: true
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||||
|
with:
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/8) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-prod
|
||||||
|
- test-mods
|
||||||
|
- test-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||||
|
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/8) Push Manifests
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
manifest-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-base
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: base
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-mods:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-mods
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: mods
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-prod:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-prod
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: prod
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
manifest-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-work
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||||
|
with:
|
||||||
|
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||||
|
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||||
|
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||||
|
versions: ${{ needs.configure.outputs.versions }}
|
||||||
|
stage: work
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
51
.github/workflows/linting.yml
vendored
51
.github/workflows/linting.yml
vendored
@@ -1,27 +1,52 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
###
|
# -------------------------------------------------------------------------------------------------
|
||||||
### 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
|
||||||
|
workflow_dispatch:
|
||||||
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 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 }}
|
|
||||||
|
|||||||
71
.github/workflows/params-nightly_master.yml
vendored
Normal file
71
.github/workflows/params-nightly_master.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: params
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Custom Variables
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
env:
|
||||||
|
VERSIONS: >
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.3", "5.4", "5.5", "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64", "linux/arm64"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
REFS: >
|
||||||
|
{
|
||||||
|
"DEFAULT_BRANCH": "master",
|
||||||
|
"BRANCHES": "master",
|
||||||
|
"NUM_LATEST_TAGS": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
###
|
||||||
|
### OUTPUTS
|
||||||
|
###
|
||||||
|
outputs:
|
||||||
|
versions:
|
||||||
|
description: "JSON string for versions. Use via: fromJson(needs.params.versions)"
|
||||||
|
value: ${{ jobs.params.outputs.versions }}
|
||||||
|
refs:
|
||||||
|
description: "JSON string for refs. Use via: fromJson(needs.params.refs)"
|
||||||
|
value: ${{ jobs.params.outputs.refs }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
params:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
versions: ${{ steps.set-versions.outputs.versions }}
|
||||||
|
refs: ${{ steps.set-refs.outputs.refs }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "[Set-Output] jsonify VERSIONS"
|
||||||
|
id: set-versions
|
||||||
|
run: |
|
||||||
|
VERSIONS="$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
echo "versions=${VERSIONS}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
REFS="$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
|
echo "refs=${REFS}" >> $GITHUB_OUTPUT
|
||||||
71
.github/workflows/params-nightly_tags.yml
vendored
Normal file
71
.github/workflows/params-nightly_tags.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: params
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Custom Variables
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
env:
|
||||||
|
VERSIONS: >
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.3", "5.4", "5.5", "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64", "linux/arm64"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
REFS: >
|
||||||
|
{
|
||||||
|
"DEFAULT_BRANCH": "master",
|
||||||
|
"BRANCHES": "",
|
||||||
|
"NUM_LATEST_TAGS": 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
###
|
||||||
|
### OUTPUTS
|
||||||
|
###
|
||||||
|
outputs:
|
||||||
|
versions:
|
||||||
|
description: "JSON string for versions. Use via: fromJson(needs.params.versions)"
|
||||||
|
value: ${{ jobs.params.outputs.versions }}
|
||||||
|
refs:
|
||||||
|
description: "JSON string for refs. Use via: fromJson(needs.params.refs)"
|
||||||
|
value: ${{ jobs.params.outputs.refs }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
params:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
versions: ${{ steps.set-versions.outputs.versions }}
|
||||||
|
refs: ${{ steps.set-refs.outputs.refs }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "[Set-Output] jsonify VERSIONS"
|
||||||
|
id: set-versions
|
||||||
|
run: |
|
||||||
|
VERSIONS="$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
echo "versions=${VERSIONS}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
REFS="$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
|
echo "refs=${REFS}" >> $GITHUB_OUTPUT
|
||||||
71
.github/workflows/params.yml
vendored
Normal file
71
.github/workflows/params.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: params
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Custom Variables
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
env:
|
||||||
|
VERSIONS: >
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "PHP",
|
||||||
|
"VERSION": ["5.3", "5.4", "5.5", "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2"],
|
||||||
|
"FLAVOUR": ["default"],
|
||||||
|
"ARCH": ["linux/amd64", "linux/arm64"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
REFS: >
|
||||||
|
{
|
||||||
|
"DEFAULT_BRANCH": "master",
|
||||||
|
"BRANCHES": "",
|
||||||
|
"NUM_LATEST_TAGS": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
###
|
||||||
|
### OUTPUTS
|
||||||
|
###
|
||||||
|
outputs:
|
||||||
|
versions:
|
||||||
|
description: "JSON string for versions. Use via: fromJson(needs.params.versions)"
|
||||||
|
value: ${{ jobs.params.outputs.versions }}
|
||||||
|
refs:
|
||||||
|
description: "JSON string for refs. Use via: fromJson(needs.params.refs)"
|
||||||
|
value: ${{ jobs.params.outputs.refs }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
params:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
versions: ${{ steps.set-versions.outputs.versions }}
|
||||||
|
refs: ${{ steps.set-refs.outputs.refs }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "[Set-Output] jsonify VERSIONS"
|
||||||
|
id: set-versions
|
||||||
|
run: |
|
||||||
|
VERSIONS="$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
echo "versions=${VERSIONS}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
REFS="$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
|
echo "refs=${REFS}" >> $GITHUB_OUTPUT
|
||||||
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-')))
|
|
||||||
)
|
|
||||||
75
.gitignore
vendored
75
.gitignore
vendored
@@ -1,74 +1,3 @@
|
|||||||
######################################
|
|
||||||
# CUSTOM
|
|
||||||
######################################
|
|
||||||
|
|
||||||
build/ansible/*.retry
|
build/ansible/*.retry
|
||||||
|
Makefile.docker
|
||||||
|
Makefile.lint
|
||||||
|
|
||||||
######################################
|
|
||||||
# GENERIC
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### std ######
|
|
||||||
.lock
|
|
||||||
*.log
|
|
||||||
|
|
||||||
###### patches/diffs ######
|
|
||||||
*.patch
|
|
||||||
*.diff
|
|
||||||
*.orig
|
|
||||||
*.rej
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Operating Systems
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### OSX ######
|
|
||||||
._*
|
|
||||||
.DS*
|
|
||||||
.Spotlight-V100
|
|
||||||
.Trashes
|
|
||||||
|
|
||||||
###### Windows ######
|
|
||||||
Thumbs.db
|
|
||||||
ehthumbs.db
|
|
||||||
Desktop.ini
|
|
||||||
$RECYCLE.BIN/
|
|
||||||
*.lnk
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Editors
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### Sublime ######
|
|
||||||
*.sublime-workspace
|
|
||||||
*.sublime-project
|
|
||||||
|
|
||||||
###### Eclipse ######
|
|
||||||
.classpath
|
|
||||||
.buildpath
|
|
||||||
.project
|
|
||||||
.settings/
|
|
||||||
|
|
||||||
###### Netbeans ######
|
|
||||||
nbproject/private/
|
|
||||||
|
|
||||||
###### Intellij IDE ######
|
|
||||||
.idea/
|
|
||||||
.idea_modules/
|
|
||||||
|
|
||||||
###### vim ######
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
*~
|
|
||||||
|
|
||||||
###### TextMate ######
|
|
||||||
.tm_properties
|
|
||||||
*.tmproj
|
|
||||||
|
|
||||||
###### BBEdit ######
|
|
||||||
*.bbprojectd
|
|
||||||
*.bbproject
|
|
||||||
|
|||||||
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
|
|
||||||
426
CHANGELOG.md
Normal file
426
CHANGELOG.md
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.143
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Added `phalcon` 5.x to PHP 8.0 and PHP 8.1
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.142
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed `phalcon` module
|
||||||
|
- Fixed `swoole` module
|
||||||
|
- Fixed installation of wkhtmltopdf [#245](https://github.com/devilbox/docker-php-fpm/pull/245)
|
||||||
|
- FIxed installation of drupalconsole [#246](https://github.com/devilbox/docker-php-fpm/pull/246)
|
||||||
|
- Fixed installation of symfoni cli [#247](https://github.com/devilbox/docker-php-fpm/pull/247)
|
||||||
|
- Fixed installation of NodeJS
|
||||||
|
- Fixed installation of PostgreSQL client for PHP 5.6
|
||||||
|
- Fixed installation of PostgreSQL client for PHP 7.0
|
||||||
|
- Disabled Phalcon Devtools for PHP 7.4 as it breaks
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.141
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed correct permission for `/opt/nvm` during startup
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.140
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Ensure apt Jessie repositories are trusted beyond EOL
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.139
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- (Re-)added mongodb command line client
|
||||||
|
- (Re-)added postgresql command line client
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Speed up `xargs` commands by using multi-CPU
|
||||||
|
- Use buildkit for building
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.138
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added arm64 support
|
||||||
|
- Added `vips` module for PHP 8.0
|
||||||
|
- Added `vips` module for PHP 8.1
|
||||||
|
- Added `swoole` module for PHP 8.1
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Separated nightly jobs
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.137
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Ensured CI tests are platform agnostic (amd64 vs arm64)
|
||||||
|
- Ensured CI pipeline will work for long-running jobs
|
||||||
|
|
||||||
|
#### Removed
|
||||||
|
- Removed homebrew due to arm64 issues
|
||||||
|
- Removed postgres cmd client and apt repositories due to arm64 issues
|
||||||
|
- Removed mongodb cmd client and apt repositories due to arm64 issues
|
||||||
|
- Removed Ansible due to arm64 issues
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.136
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed `mongodb-org-shell` and `mongodb-org-tools` install
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Re-added `mongodb` for PHP 5.3
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Switch PHP 5.4 base image to [devilbox/php-fpm-5.4](https://github.com/devilbox/docker-php-fpm-5.4) for potential arm64 support
|
||||||
|
- Switch PHP 5.5 base image to [devilbox/php-fpm-5.5](https://github.com/devilbox/docker-php-fpm-5.5) for potential arm64 support
|
||||||
|
- Changed base image back to Debian Jessie for PHP 5.2 and PHP 5.3
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.135
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- Fixed cloning of gitflow
|
||||||
|
- Fixed pidof issue on QUEMU by replacing it with pgrep [#854](https://github.com/cytopia/devilbox/issues/854)
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Changed PHP 5.2 and PHP 5.3 base images to Debian stretch
|
||||||
|
- Removed photoncms binaries (their GitHub organization went private)
|
||||||
|
- Removed `mongodb` extension from PHP 5.3 due to build errors
|
||||||
|
- Removed `ioncube` extension for PHP 5.2, PHP 5.3 and PHP 5.4 (arm64 only supported from PHP 5.5 onwards)
|
||||||
|
- Removed `codeception` from PHP 5.3
|
||||||
|
|
||||||
|
|
||||||
|
## 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)
|
||||||
@@ -44,15 +44,10 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& rm -f /etc/apt/sources.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& { \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
echo "deb http://ftp.debian.org/debian jessie main"; \
|
dpkg-dev \
|
||||||
echo "#deb http://ftp.debian.org/debian jessie-updates main"; \
|
procps \
|
||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
|
||||||
} | tee /etc/apt/sources.list
|
|
||||||
RUN set -eux \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,15 +44,10 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& rm -f /etc/apt/sources.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& { \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
echo "deb http://ftp.debian.org/debian jessie main"; \
|
dpkg-dev \
|
||||||
echo "#deb http://ftp.debian.org/debian jessie-updates main"; \
|
procps \
|
||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
|
||||||
} | tee /etc/apt/sources.list
|
|
||||||
RUN set -eux \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:5.4-fpm
|
FROM devilbox/php-fpm-5.4
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,15 +44,10 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& rm -f /etc/apt/sources.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& { \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
echo "deb http://ftp.debian.org/debian jessie main"; \
|
dpkg-dev \
|
||||||
echo "#deb http://ftp.debian.org/debian jessie-updates main"; \
|
procps \
|
||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
|
||||||
} | tee /etc/apt/sources.list
|
|
||||||
RUN set -eux \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:5.5-fpm
|
FROM devilbox/php-fpm-5.5
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,15 +44,10 @@ RUN set -eux \
|
|||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& rm -f /etc/apt/sources.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& { \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
echo "deb http://ftp.debian.org/debian jessie main"; \
|
dpkg-dev \
|
||||||
echo "#deb http://ftp.debian.org/debian jessie-updates main"; \
|
procps \
|
||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
|
||||||
} | tee /etc/apt/sources.list
|
|
||||||
RUN set -eux \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM devilbox/php-fpm-7.4
|
FROM php:7.4-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
106
Dockerfiles/base/Dockerfile-8.1
Normal file
106
Dockerfiles/base/Dockerfile-8.1
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
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"]
|
||||||
106
Dockerfiles/base/Dockerfile-8.2
Normal file
106
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
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}"
|
||||||
|
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
|
||||||
run "usermod -u ${uid} ${username}" "${debug}"
|
run "usermod -u ${uid} ${username}" "${debug}"
|
||||||
run "chown -R ${username} ${homedir}" "${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}"
|
||||||
|
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
|
||||||
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
||||||
run "chown -R :${groupname} ${homedir}" "${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
|
||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
@@ -26,24 +25,46 @@ RUN set -eux \
|
|||||||
libmagic-dev \
|
libmagic-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librecode-dev \
|
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
snmp \
|
snmp \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -60,29 +81,12 @@ 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_5.2.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: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install amqp-1.4.0 \
|
&& pecl install amqp-1.6.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable amqp \
|
&& docker-php-ext-enable amqp \
|
||||||
&& true
|
&& true
|
||||||
@@ -150,29 +154,19 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ftp --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure ftp --with-openssl-dir \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Version specific pre-command
|
# Version specific pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \
|
||||||
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \
|
||||||
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \
|
||||||
mkdir /usr/include/freetype2/freetype && \
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
\
|
\
|
||||||
# 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
|
||||||
@@ -200,7 +194,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -231,7 +225,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -242,8 +236,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
|
||||||
|
|
||||||
@@ -261,10 +256,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-2.2.7 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -286,12 +281,31 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Custom: Pecl command
|
||||||
&& yes | pecl install mongo-1.5.8 \
|
&& yes yes | pecl install mongo-1.5.8 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongo \
|
&& docker-php-ext-enable mongo \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mysql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure mysql --with-mysql --with-mysql-sock --with-zlib-dir=/usr --with-libdir="/lib/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: oauth --------------------
|
# -------------------- Installing PHP Extension: oauth --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -325,7 +339,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -340,6 +354,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Default: configure command
|
||||||
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_pgsql --------------------
|
# -------------------- Installing PHP Extension: pdo_pgsql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -375,14 +400,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: recode --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -412,6 +429,16 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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 --------------------
|
# -------------------- Installing PHP Extension: sockets --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -455,10 +482,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
|
||||||
@@ -526,9 +553,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -556,27 +583,20 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagic1 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
@@ -587,9 +607,11 @@ RUN set -eux \
|
|||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
libvpx1 \
|
libvpx1 \
|
||||||
|
libwebp5 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
snmp \
|
snmp \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -597,7 +619,18 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
@@ -676,6 +709,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mhash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mhash$' \
|
||||||
&& php -m | grep -oiE '^mongo$' \
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongo$' \
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
&& php -m | grep -oiE '^mysql$' \
|
&& php -m | grep -oiE '^mysql$' \
|
||||||
@@ -764,6 +799,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,14 +6,14 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -28,6 +28,7 @@ RUN set -eux \
|
|||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
@@ -40,13 +41,37 @@ RUN set -eux \
|
|||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -63,23 +88,6 @@ 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_5.3.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: Version specific
|
# Installation: Version specific
|
||||||
@@ -150,24 +158,19 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ftp --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure ftp --with-openssl-dir \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Version specific pre-command
|
# Version specific pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \
|
||||||
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
|
\
|
||||||
# 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
|
||||||
@@ -184,7 +187,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -205,7 +208,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -234,7 +237,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -243,18 +246,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mbstring --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- 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
|
||||||
|
|
||||||
@@ -272,10 +268,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-2.2.7 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -297,7 +293,7 @@ RUN set -eux \
|
|||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Custom: Pecl command
|
||||||
&& yes | pecl install mongo \
|
&& yes yes | pecl install mongo \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongo \
|
&& docker-php-ext-enable mongo \
|
||||||
&& true
|
&& true
|
||||||
@@ -314,10 +310,21 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mysqli --------------------
|
# -------------------- Installing PHP Extension: mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure mysql --with-mysql --with-mysql-sock --with-zlib-dir=/usr --with-libdir="/lib/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -336,19 +343,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -356,7 +371,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -386,7 +401,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -403,10 +418,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Default: configure command
|
||||||
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -508,17 +524,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install swoole-1.9.23 \
|
|
||||||
# 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
|
||||||
@@ -554,15 +559,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 +618,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
|
||||||
@@ -613,6 +640,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -625,9 +663,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -655,24 +693,17 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
@@ -686,12 +717,17 @@ RUN set -eux \
|
|||||||
librabbitmq1 \
|
librabbitmq1 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssl1.0.0 \
|
||||||
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 \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -699,11 +735,22 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- 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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -792,6 +839,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mhash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mhash$' \
|
||||||
&& php -m | grep -oiE '^mongo$' \
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongo$' \
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -859,8 +908,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^sockets$' \
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
&& 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 '^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$' \
|
||||||
@@ -873,6 +920,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 +936,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 '^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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,14 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
alien \
|
alien \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -28,6 +28,7 @@ RUN set -eux \
|
|||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
@@ -40,13 +41,37 @@ RUN set -eux \
|
|||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -63,23 +88,6 @@ 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_5.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: Version specific
|
# Installation: Version specific
|
||||||
@@ -106,7 +114,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install bcmath \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -114,7 +122,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install bz2 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -122,7 +130,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install calendar \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -130,7 +138,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install dba \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -138,7 +146,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install enchant \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -146,30 +154,25 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install exif \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ftp --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure ftp --with-openssl-dir \
|
|
||||||
&& docker-php-ext-install ftp \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Version specific pre-command
|
# Version specific pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \
|
||||||
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
|
\
|
||||||
# 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 -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -177,17 +180,17 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install gettext \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -205,12 +208,12 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
&& docker-php-ext-install imap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -218,7 +221,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install interbase \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -227,35 +230,28 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install intl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
&& docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
&& docker-php-ext-install ldap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mbstring --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install mbstring \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- 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
|
||||||
&& docker-php-ext-install mcrypt \
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -272,10 +268,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-2.2.7 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -297,7 +293,7 @@ RUN set -eux \
|
|||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Custom: Pecl command
|
||||||
&& yes | pecl install mongo \
|
&& yes yes | pecl install mongo \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongo \
|
&& docker-php-ext-enable mongo \
|
||||||
&& true
|
&& true
|
||||||
@@ -318,15 +314,18 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install mysql \
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure mysql --with-mysql --with-mysql-sock --with-zlib-dir=/usr --with-libdir="/lib/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mysqli --------------------
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install mysqli \
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -344,27 +343,35 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# 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-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
||||||
&& docker-php-ext-install oci8 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -387,17 +394,17 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pcntl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -405,17 +412,18 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pdo_firebird \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Default: configure command
|
||||||
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
&& docker-php-ext-install pdo_mysql \
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -423,7 +431,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pdo_pgsql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -431,7 +439,18 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pgsql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-0.5.1 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -454,7 +473,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install pspell \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -484,7 +503,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install shmop \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -494,7 +513,7 @@ RUN set -eux \
|
|||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
&& docker-php-ext-install snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -504,7 +523,7 @@ RUN set -eux \
|
|||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
&& docker-php-ext-install soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -512,18 +531,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install sockets \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install swoole-1.9.23 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable swoole \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -531,7 +539,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install sysvmsg \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -539,7 +547,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install sysvsem \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -547,7 +555,7 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install sysvshm \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -556,28 +564,39 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install tidy \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- 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
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
&& docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
&& docker-php-ext-install wddx \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -598,7 +617,7 @@ RUN set -eux \
|
|||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
&& docker-php-ext-install xmlrpc \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -606,7 +625,18 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install xsl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& 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
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -617,7 +647,18 @@ RUN set -eux \
|
|||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install zip \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -633,9 +674,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -663,24 +704,17 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
@@ -694,12 +728,17 @@ RUN set -eux \
|
|||||||
librabbitmq1 \
|
librabbitmq1 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssl1.0.0 \
|
||||||
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 \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -707,11 +746,22 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- 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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -800,6 +850,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mhash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mhash$' \
|
||||||
&& php -m | grep -oiE '^mongo$' \
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongo$' \
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -836,6 +888,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
&& php -m | grep -oiE '^pgsql$' \
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
&& php -m | grep -oiE '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -867,8 +921,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^sockets$' \
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
&& 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 '^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$' \
|
||||||
@@ -881,6 +933,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$' \
|
||||||
@@ -895,11 +949,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 '^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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,15 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -26,8 +27,10 @@ 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 \
|
||||||
|
libmysqlclient-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
libpcre3-dev \
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
@@ -35,19 +38,42 @@ RUN set -eux \
|
|||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
librecode-dev \
|
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -70,7 +96,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_5.5.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_5.5.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -154,11 +180,16 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Version specific pre-command
|
# Version specific pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \
|
||||||
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
|
\
|
||||||
# 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
|
||||||
@@ -175,7 +206,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -193,10 +224,32 @@ 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
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -225,7 +278,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -236,8 +289,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
|
||||||
|
|
||||||
@@ -255,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-2.2.7 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -280,7 +334,7 @@ RUN set -eux \
|
|||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Custom: Pecl command
|
||||||
&& yes | pecl install mongo \
|
&& yes yes | pecl install mongo \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongo \
|
&& docker-php-ext-enable mongo \
|
||||||
&& true
|
&& true
|
||||||
@@ -301,14 +355,17 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure mysql --with-mysql --with-mysql-sock --with-zlib-dir=/usr --with-libdir="/lib/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mysqli --------------------
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
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) mysqli \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -327,19 +384,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -347,7 +412,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -374,7 +439,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -391,10 +456,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Default: configure command
|
||||||
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -415,6 +481,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-0.5.1 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -438,14 +515,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: recode --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -504,17 +573,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install swoole-1.9.23 \
|
|
||||||
# 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
|
||||||
@@ -550,15 +608,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
|
||||||
@@ -598,6 +667,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
|
||||||
@@ -609,6 +689,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -621,9 +712,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -651,28 +742,23 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libmysqlclient18 \
|
libmysqlclient18 \
|
||||||
@@ -682,12 +768,17 @@ RUN set -eux \
|
|||||||
librabbitmq1 \
|
librabbitmq1 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssl1.0.0 \
|
||||||
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 \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -695,11 +786,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -766,6 +879,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$' \
|
||||||
@@ -788,6 +903,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mhash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mhash$' \
|
||||||
&& php -m | grep -oiE '^mongo$' \
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongo$' \
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -824,6 +941,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
&& php -m | grep -oiE '^pgsql$' \
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
&& php -m | grep -oiE '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -855,8 +974,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^sockets$' \
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
&& 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 '^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$' \
|
||||||
@@ -869,6 +986,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$' \
|
||||||
@@ -883,11 +1002,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 '^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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,15 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -27,6 +28,7 @@ RUN set -eux \
|
|||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadbclient-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,15 +45,37 @@ 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 \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -74,7 +98,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_5.6.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_5.6.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -172,11 +196,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Version specific pre-command
|
# Version specific pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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,7 +217,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -219,13 +243,24 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -254,7 +289,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -265,8 +300,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
|
||||||
|
|
||||||
@@ -284,10 +320,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-2.2.7 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -309,7 +345,7 @@ RUN set -eux \
|
|||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Custom: Pecl command
|
||||||
&& yes | pecl install mongo \
|
&& yes yes | pecl install mongo \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable mongo \
|
&& docker-php-ext-enable mongo \
|
||||||
&& true
|
&& true
|
||||||
@@ -317,10 +353,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
|
||||||
@@ -330,6 +366,8 @@ RUN set -eux \
|
|||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
|
# Default: configure command
|
||||||
|
&& docker-php-ext-configure mysql --with-mysql --with-mysql-sock --with-zlib-dir=/usr --with-libdir="/lib/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \
|
||||||
# Installation
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
&& true
|
&& true
|
||||||
@@ -337,8 +375,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mysqli --------------------
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
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) mysqli \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -357,19 +396,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -377,7 +424,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -404,7 +451,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -421,10 +468,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Default: configure command
|
||||||
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -445,6 +493,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-0.6.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -534,17 +593,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install swoole-1.9.23 \
|
|
||||||
# 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
|
||||||
@@ -580,15 +628,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
|
||||||
@@ -628,6 +687,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
|
||||||
@@ -638,6 +708,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -650,9 +731,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -680,24 +761,18 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
@@ -718,8 +793,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/* \
|
||||||
\
|
\
|
||||||
@@ -727,11 +804,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -822,6 +921,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mhash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mhash$' \
|
||||||
&& php -m | grep -oiE '^mongo$' \
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
&& php-fpm -m | grep -oiE '^mongo$' \
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -858,6 +959,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
&& php -m | grep -oiE '^pgsql$' \
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
&& php -m | grep -oiE '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -889,8 +992,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^sockets$' \
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
&& 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 '^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$' \
|
||||||
@@ -903,6 +1004,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$' \
|
||||||
@@ -917,11 +1020,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 '^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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,15 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -27,6 +28,7 @@ RUN set -eux \
|
|||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadbclient-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -39,20 +41,45 @@ RUN set -eux \
|
|||||||
librecode-dev \
|
librecode-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
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 \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -75,7 +102,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_7.0.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_7.0.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -173,11 +200,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -194,7 +221,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -220,13 +247,24 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -255,7 +293,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -266,8 +304,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,16 +325,9 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
# Default: Pecl command
|
||||||
&& cd /tmp/memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout origin/php7 \
|
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -303,10 +335,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Custom: Pecl command
|
||||||
&& pecl install memcached \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -314,10 +346,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
|
||||||
@@ -325,8 +357,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: mysqli --------------------
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
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) mysqli \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -345,19 +378,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -365,7 +406,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -392,7 +433,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -409,10 +450,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Default: configure command
|
||||||
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -420,19 +462,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -470,6 +520,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-1.1.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -504,9 +565,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
|
||||||
@@ -570,14 +646,14 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
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 swoole-4.2.13 \
|
&& pecl install ssh2-1.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable ssh2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -617,19 +693,36 @@ 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 \
|
||||||
|
# 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
|
||||||
@@ -642,10 +735,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
|
||||||
@@ -669,6 +762,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
|
||||||
@@ -679,6 +794,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-4.2.13 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -691,9 +817,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -721,29 +847,24 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
libmagickwand-6.q16-3 \
|
libmagickwand-6.q16-3 \
|
||||||
|
libmariadbclient18 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -752,15 +873,19 @@ RUN set -eux \
|
|||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvips42 \
|
||||||
libvpx4 \
|
libvpx4 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -768,11 +893,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -899,6 +1046,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -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 '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -932,8 +1081,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^spl$' \
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
&& php -m | grep -oiE '^sqlsrv$' \
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& 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$' \
|
||||||
@@ -946,6 +1095,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$' \
|
||||||
@@ -960,11 +1113,24 @@ 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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,15 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -27,6 +28,7 @@ RUN set -eux \
|
|||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -39,20 +41,45 @@ RUN set -eux \
|
|||||||
librecode-dev \
|
librecode-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
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 \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -75,7 +102,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_7.1.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_7.1.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -173,11 +200,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -194,7 +221,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -220,13 +247,24 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -245,8 +283,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
|
||||||
|
|
||||||
@@ -254,7 +293,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -265,8 +304,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,16 +325,9 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
# Default: Pecl command
|
||||||
&& cd /tmp/memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout origin/php7 \
|
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -302,10 +335,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Custom: Pecl command
|
||||||
&& pecl install memcached \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -313,10 +346,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
|
||||||
@@ -344,19 +377,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -364,7 +405,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -391,7 +432,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -419,19 +460,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -452,10 +501,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
|
||||||
@@ -469,6 +518,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-1.1.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -503,9 +563,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
|
||||||
@@ -558,25 +633,36 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: solr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install solr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable solr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.6.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install swoole \
|
&& pecl install ssh2-1.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable ssh2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -615,19 +701,36 @@ 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 \
|
||||||
|
# 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
|
||||||
@@ -640,10 +743,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
|
||||||
@@ -667,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
|
||||||
@@ -677,6 +802,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-4.4.26 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -689,9 +825,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -719,29 +855,24 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.1-6 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu63 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -750,16 +881,19 @@ RUN set -eux \
|
|||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
|
libvips42 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -767,11 +901,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -898,6 +1054,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -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 '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -927,12 +1085,14 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^soap$' \
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
&& php -m | grep -oiE '^sockets$' \
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
&& php-fpm -m | grep -oiE '^sockets$' \
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^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 -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& 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$' \
|
||||||
@@ -945,6 +1105,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$' \
|
||||||
@@ -959,11 +1123,24 @@ 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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,14 +6,15 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
libenchant-dev \
|
||||||
@@ -27,6 +28,7 @@ RUN set -eux \
|
|||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -39,20 +41,45 @@ RUN set -eux \
|
|||||||
librecode-dev \
|
librecode-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
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 \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -75,7 +102,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_7.2.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_7.2.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -173,11 +200,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -194,7 +221,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -220,13 +247,24 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -245,8 +283,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
|
||||||
|
|
||||||
@@ -254,7 +293,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -288,16 +327,9 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
|
# Default: Pecl command
|
||||||
&& cd /tmp/memcache \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout origin/php7 \
|
|
||||||
# Default: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --with-zlib-dir=/usr \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcache \
|
&& docker-php-ext-enable memcache \
|
||||||
&& true
|
&& true
|
||||||
@@ -305,10 +337,10 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Custom: Pecl command
|
||||||
&& pecl install memcached \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -347,19 +379,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -367,7 +407,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -394,7 +434,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -422,19 +462,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -456,10 +504,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
|
||||||
@@ -473,14 +521,25 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr-1.1.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
&& cd /tmp/phalcon \
|
&& cd /tmp/phalcon \
|
||||||
# Custom: Branch
|
# Custom: Branch
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
|
&& git checkout v4.1.1 \
|
||||||
# Custom: Install command
|
# Custom: Install command
|
||||||
&& cd build && ./install \
|
&& cd build && ./install \
|
||||||
# Enabling
|
# Enabling
|
||||||
@@ -507,9 +566,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
|
||||||
@@ -562,25 +636,36 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: solr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install solr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable solr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.8.1 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install swoole \
|
&& pecl install ssh2-1.2 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable ssh2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -618,20 +703,37 @@ 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 \
|
||||||
|
# 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
|
||||||
@@ -671,6 +773,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
|
||||||
@@ -681,6 +805,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-4.8.12 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -693,9 +828,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -723,29 +858,24 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.1-6 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu63 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -754,16 +884,19 @@ RUN set -eux \
|
|||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
|
libvips42 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -771,11 +904,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -902,6 +1057,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -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 '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -933,12 +1090,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 -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& 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$' \
|
||||||
@@ -951,6 +1110,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$' \
|
||||||
@@ -965,11 +1128,24 @@ 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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,29 +6,28 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
alien \
|
alien \
|
||||||
cmake \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
|
libc-ares-dev \
|
||||||
libc-client-dev \
|
libc-client-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libenchant-dev \
|
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libhiredis-dev \
|
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -41,20 +40,45 @@ RUN set -eux \
|
|||||||
librecode-dev \
|
librecode-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
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 \
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -77,7 +101,7 @@ RUN set -eux \
|
|||||||
# Type: Custom extension
|
# Type: Custom extension
|
||||||
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
&& curl -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
||||||
&& tar xvfz ioncube.tar.gz \
|
&& tar xvfz ioncube.tar.gz \
|
||||||
&& cd ioncube \
|
&& cd ioncube \
|
||||||
&& cp "ioncube_loader_lin_7.3.so" "${EXTENSION_DIR}/ioncube.so" \
|
&& cp "ioncube_loader_lin_7.3.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
@@ -156,14 +180,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
|
||||||
@@ -175,11 +191,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -196,7 +212,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -222,13 +238,24 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: imap --------------------
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -256,7 +283,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -287,12 +314,23 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install memcache-4.0.5.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Custom: Pecl command
|
||||||
&& pecl install memcached \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -331,19 +369,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: oci8 --------------------
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -351,7 +397,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -378,7 +424,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -406,19 +452,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -440,10 +494,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
|
||||||
@@ -457,14 +511,25 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
&& cd /tmp/phalcon \
|
&& cd /tmp/phalcon \
|
||||||
# Custom: Branch
|
# Custom: Branch
|
||||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
|
&& git checkout v4.1.2 \
|
||||||
# Custom: Install command
|
# Custom: Install command
|
||||||
&& cd build && ./install \
|
&& cd build && ./install \
|
||||||
# Enabling
|
# Enabling
|
||||||
@@ -491,9 +556,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
|
||||||
@@ -546,38 +626,36 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
# -------------------- Installing PHP Extension: solr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install sqlsrv \
|
&& pecl install solr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable solr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.9.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable sqlsrv \
|
&& docker-php-ext-enable sqlsrv \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
|
# Default: Pecl command
|
||||||
&& cd /tmp/swoole \
|
&& pecl install ssh2-1.2 \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
|
||||||
# Custom: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure \
|
|
||||||
--enable-openssl \
|
|
||||||
--enable-sockets \
|
|
||||||
--enable-http2 \
|
|
||||||
--enable-mysqlnd \
|
|
||||||
--enable-coroutine-postgresql \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable ssh2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -615,20 +693,37 @@ 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 \
|
||||||
|
# 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
|
||||||
@@ -668,6 +763,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
|
||||||
@@ -678,6 +795,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-4.8.12 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -690,9 +818,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -720,30 +848,23 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libevent-2.1-7 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libhiredis0.14 \
|
libicu67 \
|
||||||
libicu63 \
|
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -752,16 +873,19 @@ RUN set -eux \
|
|||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvips42 \
|
||||||
libwebp-dev \
|
libvpx6 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -769,11 +893,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -818,8 +964,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$' \
|
||||||
@@ -860,6 +1004,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
&& php-fpm -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$' \
|
||||||
@@ -898,6 +1044,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -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 '^phalcon$' \
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
&& php-fpm -m | grep -oiE '^phalcon$' \
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
@@ -929,12 +1077,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 -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& 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$' \
|
||||||
@@ -947,6 +1097,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$' \
|
||||||
@@ -961,11 +1115,24 @@ 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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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,30 +6,33 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
alien \
|
alien \
|
||||||
cmake \
|
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libenchant-dev \
|
libc-ares-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libhiredis-dev \
|
|
||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
|
libpcre3-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libpspell-dev \
|
libpspell-dev \
|
||||||
@@ -37,19 +40,45 @@ RUN set -eux \
|
|||||||
librdkafka-dev \
|
librdkafka-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnmp-dev \
|
libsnmp-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
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 \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -66,6 +95,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 -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').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
|
||||||
@@ -77,6 +123,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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
|
||||||
@@ -85,6 +142,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
|
||||||
@@ -109,14 +180,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
|
||||||
@@ -128,28 +191,19 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -166,7 +220,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
@@ -192,6 +246,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/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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
|
||||||
|
|
||||||
|
|
||||||
@@ -206,7 +283,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -217,7 +294,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 \
|
||||||
@@ -237,16 +314,23 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
# Default: Pecl command
|
||||||
&& cd /tmp/memcached \
|
&& pecl install memcache-4.0.5.2 \
|
||||||
# Custom: Branch
|
# Enabling
|
||||||
&& git checkout master \
|
&& docker-php-ext-enable memcache \
|
||||||
# Custom: Install command
|
&& true
|
||||||
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -271,22 +355,41 @@ 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
|
||||||
&& 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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -294,7 +397,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -321,7 +424,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -349,19 +452,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -381,6 +492,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
|
||||||
@@ -389,6 +511,32 @@ 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: phalcon --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& cd build && ./install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pspell --------------------
|
# -------------------- Installing PHP Extension: pspell --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -399,16 +547,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 \
|
||||||
\
|
\
|
||||||
@@ -438,20 +592,22 @@ 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
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: soap --------------------
|
# -------------------- Installing PHP Extension: soap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
&& docker-php-ext-configure soap --enable-soap \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -464,27 +620,36 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: solr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
|
# Default: Pecl command
|
||||||
&& cd /tmp/swoole \
|
&& pecl install solr \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout master \
|
|
||||||
# Custom: Install command
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure \
|
|
||||||
--enable-openssl \
|
|
||||||
--enable-sockets \
|
|
||||||
--enable-http2 \
|
|
||||||
--enable-mysqlnd \
|
|
||||||
--enable-coroutine-postgresql \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& 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: ssh2 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install ssh2-1.2 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable ssh2 \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -522,20 +687,37 @@ 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 \
|
||||||
|
# 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
|
||||||
@@ -549,10 +731,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: xmlrpc --------------------
|
# -------------------- Installing PHP Extension: xmlrpc --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
&& docker-php-ext-configure xmlrpc --with-iconv-dir=/usr \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -565,16 +748,50 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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: Version specific
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
&& docker-php-ext-configure zip --with-zip \
|
||||||
|
# Installation
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install swoole-4.8.12 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -587,9 +804,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -617,30 +834,24 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libenchant1c2a \
|
libc-ares2 \
|
||||||
|
libc-client2007e \
|
||||||
|
libevent-2.1-7 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi6 \
|
libffi7 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libhiredis0.14 \
|
libicu67 \
|
||||||
libicu63 \
|
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -648,15 +859,19 @@ RUN set -eux \
|
|||||||
libpq5 \
|
libpq5 \
|
||||||
librabbitmq4 \
|
librabbitmq4 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvips42 \
|
||||||
libwebp-dev \
|
libvpx6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -664,11 +879,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -697,6 +934,8 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
&& php -m | grep -oiE '^amqp$' \
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
&& php-fpm -m | grep -oiE '^amqp$' \
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-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$' \
|
||||||
@@ -711,8 +950,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$' \
|
||||||
@@ -737,6 +974,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$' \
|
||||||
@@ -751,6 +990,8 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
&& php-fpm -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$' \
|
||||||
@@ -759,6 +1000,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$' \
|
||||||
@@ -783,8 +1026,14 @@ 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 '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
&& php-fpm -m | grep -oiE '^phar$' \
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
&& php -m | grep -oiE '^posix$' \
|
&& php -m | grep -oiE '^posix$' \
|
||||||
@@ -812,10 +1061,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 '^swoole$' \
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
&& 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$' \
|
||||||
@@ -828,6 +1081,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$' \
|
||||||
@@ -840,11 +1097,24 @@ 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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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-ares-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-2-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
@@ -22,26 +25,60 @@ RUN set -eux \
|
|||||||
libib-util \
|
libib-util \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmariadb-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 \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libtidy-dev \
|
libtidy-dev \
|
||||||
|
libvips-dev \
|
||||||
|
libvips42 \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
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 \
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -58,6 +95,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 +125,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
|
||||||
@@ -109,11 +182,11 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gd --------------------
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \
|
||||||
# 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
|
||||||
@@ -130,13 +203,58 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: gmp --------------------
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
&& ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
&& 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/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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
|
||||||
@@ -148,7 +266,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: ldap --------------------
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Custom: configure command
|
# Custom: configure command
|
||||||
@@ -157,23 +275,45 @@ 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: Generic
|
||||||
# Type: GIT extension
|
# Type: PECL extension
|
||||||
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
# Custom: Pecl command
|
||||||
&& cd /tmp/memcached \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout master \
|
|
||||||
# Custom: Install command
|
|
||||||
&& true \
|
|
||||||
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
|
|
||||||
&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \
|
|
||||||
&& phpize \
|
|
||||||
&& ./configure --enable-memcached \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
\
|
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
&& true
|
&& true
|
||||||
@@ -181,41 +321,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,22 +338,41 @@ 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
|
||||||
&& 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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -252,7 +380,7 @@ RUN set -eux \
|
|||||||
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
&& 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 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
# Generic post-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -279,7 +407,7 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# Generic pre-command
|
||||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
@@ -307,19 +435,27 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Generic pre-command
|
# 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_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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 \
|
&& 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 \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).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 \
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
&& alien \
|
||||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-v \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
--target=$( dpkg --print-architecture ) \
|
||||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \
|
||||||
|
--query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \
|
||||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
\
|
\
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -339,6 +475,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 +494,32 @@ 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: phalcon --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& cd build && ./install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: pspell --------------------
|
# -------------------- Installing PHP Extension: pspell --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -357,23 +530,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 +554,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 +595,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 +613,28 @@ 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: sysvmsg --------------------
|
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -460,34 +669,45 @@ 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: vips --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install vips \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable vips \
|
||||||
|
&& 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 +719,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
|
||||||
@@ -509,6 +751,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes" with-postgres="yes"' swoole \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
@@ -521,9 +774,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -551,39 +804,44 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
libenchant1c2a \
|
libc-ares2 \
|
||||||
|
libc-client2007e \
|
||||||
|
libenchant-2-2 \
|
||||||
|
libevent-2.1-7 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi6 \
|
libffi7 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu67 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
|
libnghttp2-14 \
|
||||||
libpng16-16 \
|
libpng16-16 \
|
||||||
libpq5 \
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvips42 \
|
||||||
|
libvpx6 \
|
||||||
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/* \
|
||||||
\
|
\
|
||||||
@@ -591,11 +849,33 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
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/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | 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' )" \
|
||||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//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) \
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
@@ -622,6 +902,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 +942,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 +958,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 +972,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 +998,14 @@ 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 '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
&& php -m | grep -oiE '^phar$' \
|
&& php -m | grep -oiE '^phar$' \
|
||||||
&& php-fpm -m | grep -oiE '^phar$' \
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
&& php -m | grep -oiE '^posix$' \
|
&& php -m | grep -oiE '^posix$' \
|
||||||
@@ -713,6 +1017,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 +1033,12 @@ 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 '^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 +1051,38 @@ 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-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$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
1081
Dockerfiles/mods/Dockerfile-8.1
Normal file
1081
Dockerfiles/mods/Dockerfile-8.1
Normal file
File diff suppressed because it is too large
Load Diff
1029
Dockerfiles/mods/Dockerfile-8.2
Normal file
1029
Dockerfiles/mods/Dockerfile-8.2
Normal file
File diff suppressed because it is too large
Load Diff
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
101
Dockerfiles/prod/Dockerfile-8.1
Normal file
101
Dockerfiles/prod/Dockerfile-8.1
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
|
\
|
||||||
|
# Setup Supervisor
|
||||||
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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"]
|
||||||
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
|
\
|
||||||
|
# Setup Supervisor
|
||||||
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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"]
|
||||||
@@ -22,21 +22,32 @@ set_postfix() {
|
|||||||
local debug="${7}"
|
local debug="${7}"
|
||||||
|
|
||||||
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
|
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
|
||||||
local catch_all=
|
local enable_mail=
|
||||||
|
|
||||||
|
# Verify env value
|
||||||
if ! env_set "${env_varname}"; then
|
if ! env_set "${env_varname}"; then
|
||||||
log "info" "\$${env_varname} not set." "${debug}"
|
log "info" "\$${env_varname} not set." "${debug}"
|
||||||
log "info" "Postfix will not be started." "${debug}"
|
log "info" "Postfix will not be started." "${debug}"
|
||||||
echo "" > "${php_ini_file}"
|
echo "" > "${php_ini_file}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Retrieve env value
|
||||||
|
enable_mail="$( env_get "${env_varname}" )"
|
||||||
|
|
||||||
|
# Enable postfix
|
||||||
|
if [ "${enable_mail}" = "1" ] || [ "${enable_mail}" = "2" ]; then
|
||||||
|
|
||||||
|
if [ "${enable_mail}" = "1" ]; then
|
||||||
|
log "info" "\$${env_varname} set to 1. Enabling postfix" "${debug}"
|
||||||
else
|
else
|
||||||
catch_all="$( env_get "${env_varname}" )"
|
log "info" "\$${env_varname} set to 2. Enabling postfix catch-all" "${debug}"
|
||||||
if [ "${catch_all}" = "1" ]; then
|
fi
|
||||||
log "info" "\$${env_varname} set to 1. Enabling postfix catch-all" "${debug}"
|
|
||||||
|
|
||||||
# Configure PHP
|
# Configure PHP
|
||||||
{
|
{
|
||||||
echo "[mail function]";
|
echo "[mail function]";
|
||||||
echo "sendmail_path = $( which sendmail ) -t -i";
|
echo "sendmail_path = $( command -v sendmail ) -t -i";
|
||||||
echo ";mail.force_extra_parameters =";
|
echo ";mail.force_extra_parameters =";
|
||||||
echo "mail.add_x_header = On";
|
echo "mail.add_x_header = On";
|
||||||
echo "mail.log = ${php_mail_log}";
|
echo "mail.log = ${php_mail_log}";
|
||||||
@@ -74,19 +85,22 @@ set_postfix() {
|
|||||||
|
|
||||||
# Postfix configuration
|
# Postfix configuration
|
||||||
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
||||||
|
|
||||||
|
# Postfix catch-all
|
||||||
|
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}"
|
||||||
|
fi
|
||||||
|
|
||||||
elif [ "${catch_all}" = "0" ]; then
|
elif [ "${enable_mail}" = "0" ]; then
|
||||||
log "info" "\$${env_varname} set to 0. Disabling postfix catch-all" "${debug}"
|
log "info" "\$${env_varname} set to 0. Disabling postfix" "${debug}"
|
||||||
|
|
||||||
else
|
else
|
||||||
log "err" "Invalid value for \$${env_varname}. Can only be 0 or 1. Prodived: ${catch_all}" "${debug}"
|
log "err" "Invalid value for \$${env_varname}. Can only be 0, 1 or 2. Prodived: ${enable_mail}" "${debug}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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='
|
||||||
|
|||||||
@@ -24,9 +24,6 @@ DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
|||||||
# php-fpm conf.d directory
|
# php-fpm conf.d directory
|
||||||
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
||||||
|
|
||||||
# This is the log file for any mail related functions
|
|
||||||
DVL_PHP_MAIL_LOG="/var/log/mail.log"
|
|
||||||
|
|
||||||
# This file holds error and access log definitions
|
# This file holds error and access log definitions
|
||||||
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
||||||
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
||||||
@@ -34,6 +31,9 @@ DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
|||||||
# PHP-FPM log dir
|
# PHP-FPM log dir
|
||||||
DVL_FPM_LOG_DIR="/var/log/php"
|
DVL_FPM_LOG_DIR="/var/log/php"
|
||||||
|
|
||||||
|
# This is the log file for any mail related functions
|
||||||
|
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
|
||||||
|
|
||||||
# Custom ini dir (to be copied to actual ini dir)
|
# Custom ini dir (to be copied to actual ini dir)
|
||||||
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ done
|
|||||||
###
|
###
|
||||||
### Supervisor: rsyslogd & postfix
|
### Supervisor: rsyslogd & postfix
|
||||||
###
|
###
|
||||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
|
||||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
||||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -22,29 +22,22 @@ set -o pipefail
|
|||||||
###
|
###
|
||||||
### Variables
|
### Variables
|
||||||
###
|
###
|
||||||
if [ -f "/etc/alpine-release" ]; then
|
|
||||||
MAILLOG="/var/log/maillog"
|
|
||||||
elif [ -f "/etc/debian_version" ]; then
|
|
||||||
MAILLOG="/var/log/mail.log"
|
MAILLOG="/var/log/mail.log"
|
||||||
else
|
|
||||||
MAILLOG="/var/log/maillog"
|
|
||||||
fi
|
|
||||||
|
|
||||||
MAILPID="/var/spool/postfix/pid/master.pid"
|
MAILPID="/var/spool/postfix/pid/master.pid"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Sanity checks
|
### Sanity checks
|
||||||
###
|
###
|
||||||
if ! command -v pidof >/dev/null 2>&1; then
|
if ! command -v pgrep >/dev/null 2>&1; then
|
||||||
echo "pidof is required for cleaning up tail command."
|
echo "pgrep is required for cleaning up tail command."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Give rsyslogd some time to start up
|
# Give rsyslogd some time to start up
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
if ! pidof rsyslogd >/dev/null 2>&1; then
|
if ! pgrep rsyslogd >/dev/null 2>&1; then
|
||||||
echo "rsyslogd is not running, but required for mail logging."
|
echo "rsyslogd is not running, but required for mail logging."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:5.2-prod
|
FROM devilbox/php-fpm:5.2-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 [trusted=yes] 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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +81,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,24 +92,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -112,16 +123,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -135,13 +144,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -149,12 +167,39 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -167,33 +212,23 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -220,63 +255,70 @@ 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://api.github.com/repos/wkhtmltopdf/wkhtmltopdf/releases | awk -F\" '/wkhtmltopdf.*.jessie_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
\
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
\
|
fi \
|
||||||
# -------------------- 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/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& (rm -rf /home/devilbox/.cache || true) \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -285,12 +327,47 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -298,52 +375,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -353,49 +472,111 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -403,7 +584,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,49 +623,102 @@ 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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
\
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
pg_isready --version; \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
fi \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
else \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[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]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:5.3-prod
|
FROM devilbox/php-fpm:5.3-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 [trusted=yes] 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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +81,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,24 +92,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -112,16 +123,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -129,7 +138,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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-1 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- pip --------------------
|
# -------------------- pip --------------------
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
@@ -138,13 +156,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -152,12 +179,39 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -175,7 +229,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 \
|
||||||
@@ -184,33 +238,23 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -249,77 +293,90 @@ 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://api.github.com/repos/wkhtmltopdf/wkhtmltopdf/releases | awk -F\" '/wkhtmltopdf.*.jessie_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -327,20 +384,51 @@ RUN set -eux \
|
|||||||
### Install Composer (PHP)
|
### Install Composer (PHP)
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- codeception --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -348,52 +436,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -403,49 +533,111 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -453,7 +645,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,56 +684,109 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& 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]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:5.4-prod
|
FROM devilbox/php-fpm:5.4-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 [trusted=yes] 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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +81,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,24 +92,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -112,16 +123,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -129,7 +138,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +156,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -152,12 +179,39 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -170,7 +224,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 +233,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 +247,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 +256,7 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- gitflow --------------------
|
# -------------------- gitflow --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -214,32 +268,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -278,81 +322,97 @@ 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/wkhtmltopdf/releases | awk -F\" '/wkhtmltopdf.*.jessie_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -361,19 +421,54 @@ 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -381,52 +476,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -436,49 +573,111 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -486,7 +685,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,60 +724,114 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:5.5-prod
|
FROM devilbox/php-fpm:5.5-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 [trusted=yes] 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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -74,6 +81,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -84,24 +92,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -112,16 +123,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -129,7 +138,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +156,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -152,12 +179,39 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -170,7 +224,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 +233,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 +247,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,11 +256,12 @@ 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -218,32 +273,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -272,92 +317,108 @@ RUN set -eux \
|
|||||||
# -------------------- phalcon --------------------
|
# -------------------- phalcon --------------------
|
||||||
&& 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 v3.4.11 \
|
||||||
\
|
\
|
||||||
&& 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' \
|
||||||
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
&& chmod +x phalcon \
|
&& chmod +x /usr/local/bin/phalcon \
|
||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& 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://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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/wkhtmltopdf/releases | awk -F\" '/wkhtmltopdf.*.jessie_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -366,31 +427,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -398,52 +490,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -453,49 +587,111 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -503,7 +699,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,64 +738,117 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '5.5' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.5' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:5.6-prod
|
FROM devilbox/php-fpm:5.6-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,15 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,7 +140,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +158,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +181,43 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients \
|
||||||
|
mongo-tools; \
|
||||||
|
else \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +230,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 +239,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 +253,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 +267,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,11 +276,12 @@ 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -231,32 +293,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -285,92 +337,108 @@ RUN set -eux \
|
|||||||
# -------------------- phalcon --------------------
|
# -------------------- phalcon --------------------
|
||||||
&& 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 v3.4.11 \
|
||||||
\
|
\
|
||||||
&& 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' \
|
||||||
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
&& chmod +x phalcon \
|
&& chmod +x /usr/local/bin/phalcon \
|
||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& 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-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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -379,31 +447,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -411,52 +510,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -472,43 +613,102 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -516,7 +716,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,65 +755,118 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '5.6' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.6' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:7.0-prod
|
FROM devilbox/php-fpm:7.0-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -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 \
|
|
||||||
&& 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 \
|
|
||||||
&& 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 - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,15 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,7 +140,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +158,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="17" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +181,43 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
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 https://apt-archive.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients \
|
||||||
|
mongo-tools; \
|
||||||
|
else \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +230,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/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 +239,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 +253,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,26 +261,8 @@ 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 https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -231,32 +274,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -285,92 +318,108 @@ RUN set -eux \
|
|||||||
# -------------------- phalcon --------------------
|
# -------------------- phalcon --------------------
|
||||||
&& 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 v3.4.11 \
|
||||||
\
|
\
|
||||||
&& 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' \
|
||||||
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
&& chmod +x phalcon \
|
&& chmod +x /usr/local/bin/phalcon \
|
||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& 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-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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -379,31 +428,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -411,52 +491,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -472,43 +594,102 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -516,7 +697,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,65 +736,116 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '7.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '7.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:7.1-prod
|
FROM devilbox/php-fpm:7.1-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& echo "deb http://ftp.debian.org/debian buster-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 \
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
|
||||||
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
|
|
||||||
&& 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 https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,7 +139,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +157,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="--lts" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +180,37 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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/ buster-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +223,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/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 +232,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 +246,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,26 +254,8 @@ 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 https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -228,35 +264,25 @@ RUN set -eux \
|
|||||||
# -------------------- 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 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -285,92 +311,108 @@ RUN set -eux \
|
|||||||
# -------------------- phalcon --------------------
|
# -------------------- phalcon --------------------
|
||||||
&& 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 v3.4.11 \
|
||||||
\
|
\
|
||||||
&& 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' \
|
||||||
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
|
||||||
&& chmod +x phalcon \
|
&& chmod +x /usr/local/bin/phalcon \
|
||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -379,31 +421,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -411,52 +484,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -470,45 +585,104 @@ 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -516,7 +690,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,65 +729,116 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '7.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '7.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:7.2-prod
|
FROM devilbox/php-fpm:7.2-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& echo "deb http://ftp.debian.org/debian buster-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 \
|
&& 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 https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,7 +139,16 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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,13 +157,22 @@ 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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="--lts" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +180,37 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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/ buster-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +223,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 +232,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 +246,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 +260,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,11 +269,12 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="$(curl -s https://api.github.com/repos/hechoendrupal/drupal-console-launcher/releases/latest | awk -F\" '/download.*.phar/{print $(NF-1)}' | head -1)" \
|
||||||
|
&& 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -228,35 +283,25 @@ RUN set -eux \
|
|||||||
# -------------------- 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -286,6 +331,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_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' \
|
||||||
@@ -296,81 +342,97 @@ 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -379,31 +441,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -411,52 +504,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -470,45 +605,104 @@ 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -516,7 +710,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,65 +749,118 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '7.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '7.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:7.3-prod
|
FROM devilbox/php-fpm:7.3-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& echo "deb http://ftp.debian.org/debian bullseye-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 \
|
&& 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 https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,22 +139,41 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="--lts" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +181,37 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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 \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +224,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 +233,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 +247,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 +261,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,11 +270,12 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="$(curl -s https://api.github.com/repos/hechoendrupal/drupal-console-launcher/releases/latest | awk -F\" '/download.*.phar/{print $(NF-1)}' | head -1)" \
|
||||||
|
&& 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -231,32 +287,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -282,82 +328,112 @@ 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -366,31 +442,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -398,52 +505,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -457,45 +606,104 @@ 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -503,7 +711,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,64 +750,118 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '7.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '7.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:7.4-prod
|
FROM devilbox/php-fpm:7.4-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& echo "deb http://ftp.debian.org/debian bullseye-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 \
|
&& 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 https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,22 +139,41 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="--lts" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +181,37 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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 \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,7 +224,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 +233,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 +247,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 +261,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,11 +270,12 @@ RUN set -eux \
|
|||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- drupalconsole --------------------
|
# -------------------- drupalconsole --------------------
|
||||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
&& DURL="$(curl -s https://api.github.com/repos/hechoendrupal/drupal-console-launcher/releases/latest | awk -F\" '/download.*.phar/{print $(NF-1)}' | head -1)" \
|
||||||
|
&& 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
@@ -231,32 +287,22 @@ RUN set -eux \
|
|||||||
&& 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' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
|
&& 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -283,76 +329,97 @@ 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
# -------------------- 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -361,31 +428,62 @@ 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 --------------------
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -393,52 +491,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -454,43 +594,102 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -498,7 +697,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,63 +736,117 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
|
&& if echo '7.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '7.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.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]+' \
|
&& 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+' \
|
||||||
&& 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[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& 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]+' \
|
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:8.0-prod
|
FROM devilbox/php-fpm:8.0-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,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 +46,21 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
\
|
\
|
||||||
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
&& echo "deb http://ftp.debian.org/debian bullseye-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 \
|
&& 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 https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -62,6 +70,7 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
certbot \
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -73,6 +82,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -83,24 +93,27 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -111,16 +124,14 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -128,22 +139,41 @@ 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 \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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 --------------------
|
||||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
&& NODE_VERSION="--lts" \
|
||||||
&& cd /opt/nvm \
|
\
|
||||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
\
|
\
|
||||||
&& { \
|
&& { \
|
||||||
echo 'export NVM_DIR="/opt/nvm"'; \
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
@@ -151,12 +181,37 @@ RUN set -eux \
|
|||||||
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
} >> /home/devilbox/.bashrc \
|
} >> /home/devilbox/.bashrc \
|
||||||
\
|
\
|
||||||
&& chown -R devilbox:devilbox /opt/nvm \
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
\
|
\
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
\
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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 \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# -------------------- awesomeci --------------------
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
@@ -169,37 +224,38 @@ 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 --------------------
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
# -------------------- 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/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- mysqldumpsecure --------------------
|
# -------------------- mysqldumpsecure --------------------
|
||||||
@@ -226,71 +282,92 @@ 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 \
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
# -------------------- 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 --------------------
|
|
||||||
&& 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 /home/devilbox/.*json || true) \
|
||||||
&& (rm -rf /root/.gem || true ) \
|
&& (rm -rf /home/devilbox/.ansible || 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/.cache || true) \
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -299,12 +376,47 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
\
|
\
|
||||||
&& rm -rf /tmp/* \
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -312,52 +424,94 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- angular_cli --------------------
|
# -------------------- angular_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- eslint --------------------
|
# -------------------- eslint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt --------------------
|
# -------------------- grunt --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- grunt_cli --------------------
|
# -------------------- grunt_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- gulp --------------------
|
# -------------------- gulp --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- jsonlint --------------------
|
# -------------------- jsonlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- pm2 --------------------
|
# -------------------- pm2 --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- mdlint --------------------
|
# -------------------- mdlint --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g 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 @vue/cli' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- vue_cli_service_global --------------------
|
# -------------------- vue_cli_service_global --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack --------------------
|
# -------------------- webpack --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
\
|
\
|
||||||
# -------------------- webpack_cli --------------------
|
# -------------------- webpack_cli --------------------
|
||||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
&& 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/ \
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; 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 \
|
fi \
|
||||||
&& rm -rf /home/devilbox/.config \
|
\
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -373,43 +527,102 @@ 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 /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Install pip (Python) packages
|
### Install pip (Python) packages
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# -------------------- ansible --------------------
|
|
||||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
|
||||||
\
|
|
||||||
# -------------------- 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 /tmp/* \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -417,7 +630,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,53 +669,109 @@ 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 -Ei '(composer|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 '^v?[0-9][.0-9]+' \
|
||||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
\
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& if echo '8.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
pg_isready --version; \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
fi \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
else \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
pg_isready --version; \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
fi \
|
||||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
\
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
&& if echo '8.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& 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[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
\
|
\
|
||||||
# -------------------- Composer --------------------
|
# -------------------- Composer --------------------
|
||||||
\
|
\
|
||||||
# -------------------- PIP --------------------
|
# -------------------- PIP --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
&& yq --version 2>&1 | grep -E '^yq\s+[.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/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
&& rm -rf /root/.composer \
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
&& rm -rf /root/.drush \
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
&& rm -rf /root/.pm2 \
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (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
|
||||||
###
|
###
|
||||||
|
|||||||
811
Dockerfiles/work/Dockerfile-8.1
Normal file
811
Dockerfiles/work/Dockerfile-8.1
Normal file
@@ -0,0 +1,811 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.1-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -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 bullseye-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 \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -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 \
|
||||||
|
moreutils \
|
||||||
|
\
|
||||||
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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 --------------------
|
||||||
|
&& NODE_VERSION="--lts" \
|
||||||
|
\
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
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_VERSION}" devilbox \
|
||||||
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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 \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- 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 https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 --------------------
|
||||||
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$(curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '8.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '8.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& 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[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& 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/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (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 ./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"]
|
||||||
793
Dockerfiles/work/Dockerfile-8.2
Normal file
793
Dockerfiles/work/Dockerfile-8.2
Normal file
@@ -0,0 +1,793 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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 \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -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 bullseye-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 \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -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 \
|
||||||
|
moreutils \
|
||||||
|
\
|
||||||
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.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 --------------------
|
||||||
|
&& NODE_VERSION="--lts" \
|
||||||
|
\
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
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_VERSION}" devilbox \
|
||||||
|
&& su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
|
&& su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \
|
||||||
|
\
|
||||||
|
&& chmod 0777 /opt/nvm \
|
||||||
|
&& find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& 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 \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- 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 https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 --------------------
|
||||||
|
&& VERSION="$(curl -s https://api.github.com/repos/symfony-cli/symfony-cli/releases/latest | awk -F\" '/symfony-cli_.*._amd64\.deb/{print $(NF-1)}' | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/')" \
|
||||||
|
&& curl -sS -L --fail -o /tmp/symfonycli.deb https://github.com/symfony-cli/symfony-cli/releases/download/v${VERSION}/symfony-cli_${VERSION}_$(dpkg-architecture --query DEB_HOST_ARCH).deb \
|
||||||
|
&& dpkg -i /tmp/symfonycli.deb \
|
||||||
|
&& rm -f /tmp/symfonycli.deb \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$(curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases | awk -F\" '/wkhtmltopdf.*.stretch_amd64\.deb/{print $(NF-1)}' | head -1 )" \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
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 ${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
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; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '8.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '8.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& 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[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& 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/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (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 ./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"]
|
||||||
@@ -24,9 +24,6 @@ DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
|||||||
# php-fpm conf.d directory
|
# php-fpm conf.d directory
|
||||||
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
||||||
|
|
||||||
# This is the log file for any mail related functions
|
|
||||||
DVL_PHP_MAIL_LOG="/var/log/mail.log"
|
|
||||||
|
|
||||||
# This file holds error and access log definitions
|
# This file holds error and access log definitions
|
||||||
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
||||||
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
||||||
@@ -34,6 +31,9 @@ DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
|||||||
# PHP-FPM log dir
|
# PHP-FPM log dir
|
||||||
DVL_FPM_LOG_DIR="/var/log/php"
|
DVL_FPM_LOG_DIR="/var/log/php"
|
||||||
|
|
||||||
|
# This is the log file for any mail related functions
|
||||||
|
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
|
||||||
|
|
||||||
# Custom ini dir (to be copied to actual ini dir)
|
# Custom ini dir (to be copied to actual ini dir)
|
||||||
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ done
|
|||||||
###
|
###
|
||||||
### Supervisor: rsyslogd & postfix
|
### Supervisor: rsyslogd & postfix
|
||||||
###
|
###
|
||||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
|
||||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
||||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
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
|
||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ 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
|
||||||
|
|
||||||
|
|||||||
555
Makefile
555
Makefile
@@ -2,86 +2,214 @@ ifneq (,)
|
|||||||
.error This Makefile requires GNU Make.
|
.error This Makefile requires GNU Make.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Ensure additional Makefiles are present
|
||||||
|
MAKEFILES = Makefile.docker Makefile.lint
|
||||||
|
$(MAKEFILES): URL=https://raw.githubusercontent.com/devilbox/makefiles/master/$(@)
|
||||||
|
$(MAKEFILES):
|
||||||
|
@if ! (curl --fail -sS -o $(@) $(URL) || wget -O $(@) $(URL)); then \
|
||||||
|
echo "Error, curl or wget required."; \
|
||||||
|
echo "Exiting."; \
|
||||||
|
false; \
|
||||||
|
fi
|
||||||
|
include $(MAKEFILES)
|
||||||
|
|
||||||
|
# Set default Target
|
||||||
|
.DEFAULT_GOAL := help
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Docker configuration
|
# Default configuration
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Own vars
|
||||||
|
TAG = latest
|
||||||
|
|
||||||
DIR = Dockerfiles
|
# Makefile.docker overwrites
|
||||||
|
NAME = PHP
|
||||||
|
#VERSION = 5.5
|
||||||
IMAGE = devilbox/php-fpm
|
IMAGE = devilbox/php-fpm
|
||||||
NO_CACHE =
|
#FLAVOUR = debian
|
||||||
PHP_EXT_DIR =
|
#STAGE = base
|
||||||
|
FILE = Dockerfile-$(VERSION)
|
||||||
|
DIR = Dockerfiles/$(STAGE)
|
||||||
|
|
||||||
# Run checks after each module has been installed (slow, but yields errors faster)
|
ifeq ($(strip $(TAG)),latest)
|
||||||
FAIL_FAST = False
|
DOCKER_TAG = $(VERSION)-$(STAGE)
|
||||||
|
BASE_TAG = $(VERSION)-base
|
||||||
# -------------------------------------------------------------------------------------------------
|
MODS_TAG = $(VERSION)-mods
|
||||||
# DEFAULT TARGET
|
PROD_TAG = $(VERSION)-prod
|
||||||
# -------------------------------------------------------------------------------------------------
|
WORK_TAG = $(VERSION)-work
|
||||||
|
|
||||||
help:
|
|
||||||
@echo
|
|
||||||
@echo " _ _ _ _ __ _ ___ "
|
|
||||||
@echo " _| |___ _ _<_| | |_ _____ / ___| |_ ___ ___| | ___._ _ _ "
|
|
||||||
@echo " / . / ._| | | | | . / . \ \// | . | . | . |___| || . | ' ' |"
|
|
||||||
@echo " \___\___|__/|_|_|___\___/\_/_/| _|_|_| _/ |_|| _|_|_|_|"
|
|
||||||
@echo " |_| |_| |_| "
|
|
||||||
@echo
|
|
||||||
@echo
|
|
||||||
@echo "Targets"
|
|
||||||
@echo "--------------------------------------------------------------------------------"
|
|
||||||
@echo
|
|
||||||
@echo "gen-readme [VERSION=] Update README with PHP modules from built images."
|
|
||||||
@echo "gen-dockerfiles [FAIL_FAST=] Generate Dockerfiles from templates."
|
|
||||||
@echo
|
|
||||||
@echo "build-base VERSION= [ARGS=] Build base image by specified version"
|
|
||||||
@echo "build-mods VERSION= [ARGS=] Build mods image by specified version"
|
|
||||||
@echo "build-prod VERSION= [ARGS=] Build prod image by specified version"
|
|
||||||
@echo "build-work VERSION= [ARGS=] Build work image by specified version"
|
|
||||||
@echo
|
|
||||||
@echo "rebuild-base VERSION= [ARGS=] Rebuild base image by specified version"
|
|
||||||
@echo "rebuild-mods VERSION= [ARGS=] Rebuild mods image by specified version"
|
|
||||||
@echo "rebuild-prod VERSION= [ARGS=] Rebuild prod image by specified version"
|
|
||||||
@echo "rebuild-work VERSION= [ARGS=] Rebuild work image by specified version"
|
|
||||||
@echo
|
|
||||||
@echo "test-base VERSION= Test base image by specified version"
|
|
||||||
@echo "test-mods VERSION= Test mods image by specified version"
|
|
||||||
@echo "test-prod VERSION= Test prod image by specified version"
|
|
||||||
@echo "test-work VERSION= Test work image by specified version"
|
|
||||||
@echo
|
|
||||||
@echo
|
|
||||||
@echo "Variables"
|
|
||||||
@echo "--------------------------------------------------------------------------------"
|
|
||||||
@echo
|
|
||||||
@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 " For gen-readme target it is optional and if not"
|
|
||||||
@echo " specified, it will generate for all versions."
|
|
||||||
@echo
|
|
||||||
@echo "FAIL_FAST Either 'True' or 'False' (defaults to 'False')."
|
|
||||||
@echo " If set to 'True', each module install has an"
|
|
||||||
@echo " immediate check, which is very slow for CI, but"
|
|
||||||
@echo " yields errors immediately."
|
|
||||||
@echo " If set to 'False', checks are done at the end."
|
|
||||||
@echo
|
|
||||||
@echo "ARGS Can be added to all build-* and rebuild-* targets"
|
|
||||||
@echo " to supply additional docker build options."
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# GENERATE TARGETS
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
gen-readme:
|
|
||||||
ifeq ($(strip $(VERSION)),)
|
|
||||||
cd build; ./gen-readme.sh
|
|
||||||
else
|
else
|
||||||
@$(MAKE) --no-print-directory _check-version
|
DOCKER_TAG = $(VERSION)-$(STAGE)-$(TAG)
|
||||||
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base
|
BASE_TAG = $(VERSION)-base-$(TAG)
|
||||||
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods
|
MODS_TAG = $(VERSION)-mods-$(TAG)
|
||||||
cd build; ./gen-readme.sh ${VERSION}
|
PROD_TAG = $(VERSION)-prod-$(TAG)
|
||||||
|
WORK_TAG = $(VERSION)-work-$(TAG)
|
||||||
|
endif
|
||||||
|
ARCH = linux/amd64
|
||||||
|
|
||||||
|
|
||||||
|
# Makefile.lint overwrites
|
||||||
|
FL_IGNORES = .git/,.github/,tests/
|
||||||
|
SC_IGNORES = .git/,.github/,tests/
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Default Target
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
@echo "lint Lint project files and repository"
|
||||||
|
@echo
|
||||||
|
@echo "build [ARCH=...] [TAG=...] Build Docker image"
|
||||||
|
@echo "rebuild [ARCH=...] [TAG=...] Build Docker image without cache"
|
||||||
|
@echo "push [ARCH=...] [TAG=...] Push Docker image to Docker hub"
|
||||||
|
@echo
|
||||||
|
@echo "manifest-create [ARCHES=...] [TAG=...] Create multi-arch manifest"
|
||||||
|
@echo "manifest-push [TAG=...] Push multi-arch manifest"
|
||||||
|
@echo
|
||||||
|
@echo "test [ARCH=...] Test built Docker image"
|
||||||
|
@echo
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Overwrite Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Append additional target to lint
|
||||||
|
lint: lint-changelog
|
||||||
|
lint: lint-ansible
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ensures CHANGELOG has an entry
|
||||||
|
###
|
||||||
|
.PHONY: lint-changelog
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ensures Ansible Dockerfile generation is current
|
||||||
|
###
|
||||||
|
.PHONY: lint-ansible
|
||||||
|
lint-ansible: gen-dockerfiles
|
||||||
|
@git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Docker Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# ---- ONLY FOR "mods" images ----
|
||||||
|
# When builds mods, we have a builder image and then copy everything to the final
|
||||||
|
# target image. In order to do so, we pass a build-arg EXT_DIR, which contains
|
||||||
|
# the variable directory of extensions to copy.
|
||||||
|
# The only way to "LAZY" fetch it, is by doing a call to the base image and populate
|
||||||
|
# a Makefile variable with its value upon call.
|
||||||
|
ifeq ($(strip $(STAGE)),mods)
|
||||||
|
EXT_DIR=$$( docker run --rm --platform $(ARCH) --entrypoint=php $(IMAGE):$(BASE_TAG) -r \
|
||||||
|
'echo ini_get("extension_dir");'\
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Use Buldkit for building
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: check-stage-is-set
|
||||||
|
build: check-parent-image-exists
|
||||||
|
build: ARGS+=--build-arg EXT_DIR=$(EXT_DIR)
|
||||||
|
build: docker-arch-build
|
||||||
|
|
||||||
|
.PHONY: rebuild
|
||||||
|
rebuild: check-stage-is-set
|
||||||
|
rebuild: check-parent-image-exists
|
||||||
|
rebuild: ARGS+=--build-arg EXT_DIR=$(EXT_DIR)
|
||||||
|
rebuild: docker-arch-rebuild
|
||||||
|
|
||||||
|
.PHONY: push
|
||||||
|
push: check-stage-is-set
|
||||||
|
push: check-version-is-set
|
||||||
|
push: docker-arch-push
|
||||||
|
|
||||||
|
.PHONY: tag
|
||||||
|
tag: check-stage-is-set
|
||||||
|
tag: check-version-is-set
|
||||||
|
tag:
|
||||||
|
docker tag $(IMAGE):$(VERSION)-$(STAGE) $(IMAGE):$(DOCKER_TAG)
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Save / Load Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
.PHONY: save
|
||||||
|
save: check-stage-is-set
|
||||||
|
save: check-version-is-set
|
||||||
|
save: check-current-image-exists
|
||||||
|
save: docker-save
|
||||||
|
|
||||||
|
.PHONY: load
|
||||||
|
load: docker-load
|
||||||
|
|
||||||
|
.PHONY: save-verify
|
||||||
|
save-verify: save
|
||||||
|
save-verify: load
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Manifest Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
.PHONY: manifest-create
|
||||||
|
manifest-create: docker-manifest-create
|
||||||
|
|
||||||
|
.PHONY: manifest-push
|
||||||
|
manifest-push: docker-manifest-push
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Test Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
.PHONY: test
|
||||||
|
test: check-stage-is-set
|
||||||
|
test: check-current-image-exists
|
||||||
|
test: test-integration
|
||||||
|
|
||||||
|
.PHONY: test-integration
|
||||||
|
test-integration:
|
||||||
|
./tests/test.sh $(IMAGE) $(ARCH) $(VERSION) $(STAGE) $(DOCKER_TAG)
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Generate Targets
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
###
|
||||||
|
### Generate README (requires images to be built)
|
||||||
|
###
|
||||||
|
.PHONY: gen-readme
|
||||||
|
gen-readme: check-version-is-set
|
||||||
|
gen-readme:
|
||||||
|
@echo "################################################################################"
|
||||||
|
@echo "# Generate README.md for PHP $(VERSION) ($(IMAGE):$(DOCKER_TAG)) on $(ARCH)"
|
||||||
|
@echo "################################################################################"
|
||||||
|
./build/gen-readme.sh $(IMAGE) $(ARCH) $(BASE_TAG) $(MODS_TAG) $(VERSION)
|
||||||
|
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
|
|
||||||
|
###
|
||||||
|
### Generate Dockerfiles
|
||||||
|
###
|
||||||
|
.PHONY: gen-dockerfiles
|
||||||
gen-dockerfiles:
|
gen-dockerfiles:
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
$$(tty -s && echo "-it" || echo) \
|
$$(tty -s && echo "-it" || echo) \
|
||||||
@@ -90,201 +218,126 @@ 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)}\" \
|
||||||
--diff $(ARGS)
|
--diff $(ARGS)
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# BUILD TARGETS
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
build-base: _check-version
|
|
||||||
build-base:
|
|
||||||
docker build $(NO_CACHE) \
|
|
||||||
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
|
|
||||||
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
|
|
||||||
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD))" \
|
|
||||||
$(ARGS) \
|
|
||||||
-t $(IMAGE):${VERSION}-base \
|
|
||||||
-f $(DIR)/base/Dockerfile-${VERSION} $(DIR)/base
|
|
||||||
|
|
||||||
|
|
||||||
build-mods: _check-version
|
|
||||||
build-mods: _EXIST_IMAGE=base
|
|
||||||
build-mods: _check-image-exists
|
|
||||||
build-mods:
|
|
||||||
ifeq ($(strip $(TARGET)),)
|
|
||||||
docker build $(NO_CACHE) \
|
|
||||||
--target builder \
|
|
||||||
-t $(IMAGE):$(VERSION)-mods \
|
|
||||||
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods;
|
|
||||||
@# $(NO_CACHE) is removed, as it would otherwise rebuild the 'builder' image again.
|
|
||||||
docker build \
|
|
||||||
--target final \
|
|
||||||
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
|
|
||||||
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
|
|
||||||
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
|
|
||||||
--build-arg EXT_DIR="$$( docker run --rm --entrypoint=php $(IMAGE):$(VERSION)-mods -i \
|
|
||||||
| grep ^extension_dir \
|
|
||||||
| awk -F '=>' '{print $$2}' \
|
|
||||||
| xargs \
|
|
||||||
)" \
|
|
||||||
$(ARGS) \
|
|
||||||
-t $(IMAGE):$(VERSION)-mods \
|
|
||||||
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods;
|
|
||||||
else
|
|
||||||
docker build $(NO_CACHE) \
|
|
||||||
--target $(TARGET) \
|
|
||||||
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
|
|
||||||
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
|
|
||||||
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
|
|
||||||
$(ARGS) \
|
|
||||||
-t $(IMAGE):$(VERSION)-mods \
|
|
||||||
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
build-prod: _check-version
|
|
||||||
build-prod: _EXIST_IMAGE=mods
|
|
||||||
build-prod: _check-image-exists
|
|
||||||
build-prod:
|
|
||||||
docker build $(NO_CACHE) \
|
|
||||||
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
|
|
||||||
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
|
|
||||||
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
|
|
||||||
$(ARGS) \
|
|
||||||
-t $(IMAGE):${VERSION}-prod \
|
|
||||||
-f $(DIR)/prod/Dockerfile-${VERSION} $(DIR)/prod
|
|
||||||
|
|
||||||
|
|
||||||
build-work: _check-version
|
|
||||||
build-work: _EXIST_IMAGE=prod
|
|
||||||
build-work: _check-image-exists
|
|
||||||
build-work:
|
|
||||||
docker build $(NO_CACHE) \
|
|
||||||
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
|
|
||||||
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
|
|
||||||
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
|
|
||||||
$(ARGS) \
|
|
||||||
-t $(IMAGE):${VERSION}-work \
|
|
||||||
-f $(DIR)/work/Dockerfile-${VERSION} $(DIR)/work
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# REBUILD TARGETS
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
rebuild-base: NO_CACHE=--no-cache
|
|
||||||
rebuild-base: build-base
|
|
||||||
|
|
||||||
|
|
||||||
rebuild-mods: NO_CACHE=--no-cache
|
|
||||||
rebuild-mods: build-mods
|
|
||||||
|
|
||||||
|
|
||||||
rebuild-prod: NO_CACHE=--no-cache
|
|
||||||
rebuild-prod: build-prod
|
|
||||||
|
|
||||||
|
|
||||||
rebuild-work: NO_CACHE=--no-cache
|
|
||||||
rebuild-work: build-work
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# TEST TARGETS
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
test-base: _check-version
|
|
||||||
test-base: _EXIST_IMAGE=base
|
|
||||||
test-base: _check-image-exists
|
|
||||||
test-base:
|
|
||||||
./tests/test.sh ${VERSION} base
|
|
||||||
|
|
||||||
|
|
||||||
test-mods: _check-version
|
|
||||||
test-mods: _EXIST_IMAGE=mods
|
|
||||||
test-mods: _check-image-exists
|
|
||||||
test-mods: _check-version
|
|
||||||
./tests/test.sh ${VERSION} mods
|
|
||||||
|
|
||||||
|
|
||||||
test-prod: _check-version
|
|
||||||
test-prod: _EXIST_IMAGE=prod
|
|
||||||
test-prod: _check-image-exists
|
|
||||||
test-prod: _check-version
|
|
||||||
./tests/test.sh ${VERSION} prod
|
|
||||||
|
|
||||||
|
|
||||||
test-work: _check-version
|
|
||||||
test-work: _EXIST_IMAGE=work
|
|
||||||
test-work: _check-image-exists
|
|
||||||
test-work: _check-version
|
|
||||||
./tests/test.sh ${VERSION} work
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# HELPER TARGETS
|
# HELPER TARGETS
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
_check-version:
|
###
|
||||||
ifeq ($(strip $(VERSION)),)
|
### Ensures the VERSION variable is set
|
||||||
@$(info This make target requires the VERSION variable to be set.)
|
###
|
||||||
@$(info make build-<flavour> VERSION=7.3)
|
.PHONY: check-version-is-set
|
||||||
@$(info )
|
check-version-is-set:
|
||||||
@$(error Exiting)
|
@if [ "$(VERSION)" = "" ]; then \
|
||||||
endif
|
echo "This make target requires the VERSION variable to be set."; \
|
||||||
ifeq ($(VERSION),5.2)
|
echo "make <target> VERSION="; \
|
||||||
else
|
echo "Exiting."; \
|
||||||
ifeq ($(VERSION),5.3)
|
exit 1; \
|
||||||
else
|
fi
|
||||||
ifeq ($(VERSION),5.4)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),5.5)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),5.6)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),7.0)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),7.1)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),7.2)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),7.3)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),7.4)
|
|
||||||
else
|
|
||||||
ifeq ($(VERSION),8.0)
|
|
||||||
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')
|
|
||||||
@$(info )
|
|
||||||
@$(error Exiting)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ensures the STAGE variable is set
|
||||||
|
###
|
||||||
|
.PHONY: check-stage-is-set
|
||||||
|
check-stage-is-set:
|
||||||
|
@if [ "$(STAGE)" = "" ]; then \
|
||||||
|
echo "This make target requires the STAGE variable to be set."; \
|
||||||
|
echo "make <target> STAGE="; \
|
||||||
|
echo "Exiting."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@if [ "$(STAGE)" != "base" ] && [ "$(STAGE)" != "mods" ] && [ "$(STAGE)" != "prod" ] && [ "$(STAGE)" != "work" ]; then \
|
||||||
|
echo "Error, Flavour can only be one of 'base', 'mods', 'prod', or 'work'."; \
|
||||||
|
echo "Exiting."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
_check-image-exists:
|
###
|
||||||
@if [ "$$(docker images -q $(IMAGE):$(VERSION)-$(_EXIST_IMAGE))" = "" ]; then \
|
### Checks if current image exists and is of correct architecture
|
||||||
>&2 echo "Docker image '$(IMAGE):$(VERSION)-$(_EXIST_IMAGE)' was not found locally."; \
|
###
|
||||||
|
.PHONY: check-current-image-exists
|
||||||
|
check-current-image-exists: check-stage-is-set
|
||||||
|
check-current-image-exists:
|
||||||
|
@if [ "$$( docker images -q $(IMAGE):$(DOCKER_TAG) )" = "" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(DOCKER_TAG)' was not found locally."; \
|
||||||
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
|
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
|
||||||
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \
|
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \
|
||||||
>&2 echo; \
|
>&2 echo; \
|
||||||
false; \
|
exit 1; \
|
||||||
|
else \
|
||||||
|
echo "OK: Image $(IMAGE):$(DOCKER_TAG) exists"; \
|
||||||
|
fi; \
|
||||||
|
OS="$$( docker image inspect $(IMAGE):$(DOCKER_TAG) --format '{{.Os}}' )"; \
|
||||||
|
ARCH="$$( docker image inspect $(IMAGE):$(DOCKER_TAG) --format '{{.Architecture}}' )"; \
|
||||||
|
if [ "$${OS}/$${ARCH}" != "$(ARCH)" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(DOCKER_TAG)' has invalid architecture: $${OS}/$${ARCH}"; \
|
||||||
|
>&2 echo "Expected: $(ARCH)"; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
else \
|
||||||
|
echo "OK: Image $(IMAGE):$(DOCKER_TAG) is of arch $${OS}/$${ARCH}"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Checks if parent image exists and is of correct architecture
|
||||||
|
###
|
||||||
|
.PHONY: check-parent-image-exists
|
||||||
|
check-parent-image-exists: check-stage-is-set
|
||||||
|
check-parent-image-exists:
|
||||||
|
@if [ "$(STAGE)" = "work" ]; then \
|
||||||
|
if [ "$$( docker images -q $(IMAGE):$(PROD_TAG) )" = "" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(PROD_TAG)' was not found locally."; \
|
||||||
|
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
|
||||||
|
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
OS="$$( docker image inspect $(IMAGE):$(PROD_TAG) --format '{{.Os}}' )"; \
|
||||||
|
ARCH="$$( docker image inspect $(IMAGE):$(PROD_TAG) --format '{{.Architecture}}' )"; \
|
||||||
|
if [ "$${OS}/$${ARCH}" != "$(ARCH)" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(PROD_TAG)' has invalid architecture: $${OS}/$${ARCH}"; \
|
||||||
|
>&2 echo "Expected: $(ARCH)"; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
elif [ "$(STAGE)" = "prod" ]; then \
|
||||||
|
if [ "$$( docker images -q $(IMAGE):$(MODS_TAG) )" = "" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(MODS_TAG)' was not found locally."; \
|
||||||
|
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
|
||||||
|
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
OS="$$( docker image inspect $(IMAGE):$(MODS_TAG) --format '{{.Os}}' )"; \
|
||||||
|
ARCH="$$( docker image inspect $(IMAGE):$(MODS_TAG) --format '{{.Architecture}}' )"; \
|
||||||
|
if [ "$${OS}/$${ARCH}" != "$(ARCH)" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(MODS_TAG)' has invalid architecture: $${OS}/$${ARCH}"; \
|
||||||
|
>&2 echo "Expected: $(ARCH)"; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
elif [ "$(STAGE)" = "mods" ]; then \
|
||||||
|
if [ "$$( docker images -q $(IMAGE):$(BASE_TAG) )" = "" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(BASE_TAG)' was not found locally."; \
|
||||||
|
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
|
||||||
|
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
OS="$$( docker image inspect $(IMAGE):$(BASE_TAG) --format '{{.Os}}' )"; \
|
||||||
|
ARCH="$$( docker image inspect $(IMAGE):$(BASE_TAG) --format '{{.Architecture}}' )"; \
|
||||||
|
if [ "$${OS}/$${ARCH}" != "$(ARCH)" ]; then \
|
||||||
|
>&2 echo "Docker image '$(IMAGE):$(BASE_TAG)' has invalid architecture: $${OS}/$${ARCH}"; \
|
||||||
|
>&2 echo "Expected: $(ARCH)"; \
|
||||||
|
>&2 echo; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
|
||||||
_pull-root-image:
|
|
||||||
@echo "Pulling root image for PHP ${VERSION}"
|
|
||||||
@docker pull $(shell grep FROM $(DIR)/base/Dockerfile-${VERSION} | sed 's/^FROM\s*//g';)
|
|
||||||
|
|||||||
163
README.md
163
README.md
@@ -1,15 +1,16 @@
|
|||||||
# 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)
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
|
||||||
|
**Available Architectures:** `amd64`, `arm64`
|
||||||
|
|
||||||
This repository will provide you fully functional PHP-FPM Docker images in different flavours,
|
This repository will provide you fully functional PHP-FPM Docker images in different flavours,
|
||||||
versions and packed with different types of integrated PHP modules. It also solves the problem of **[syncronizing file permissions](#unsynchronized-permissions)** of mounted volumes between the host and the container.
|
versions and packed with different types of integrated PHP modules. It also solves the problem of **[syncronizing file permissions](#unsynchronized-permissions)** of mounted volumes between the host and the container.
|
||||||
|
|
||||||
@@ -25,6 +26,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
|
||||||
|
|
||||||
@@ -221,7 +224,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 +300,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 +393,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 +486,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 +579,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>
|
||||||
@@ -601,58 +660,68 @@ Check out this table to see which Docker image provides what PHP modules.
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>5.2</th>
|
<th>5.2</th>
|
||||||
<td id="52-base">ctype, curl, date, dom, filter, hash, iconv, json, libxml, mbstring, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, posix, readline, Reflection, session, SimpleXML, soap, SPL, SQLite, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
<td id="52-base">ctype, curl, date, dom, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, openssl, pcre, PDO, pdo_sqlite, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
||||||
<td id="52-mods">amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, OAuth, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<td id="52-mods">amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, msgpack, mysql, mysqli, OAuth, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>5.3</th>
|
<th>5.3</th>
|
||||||
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, 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, 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, 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, ftp, hash, iconv, json, libxml, mbstring, mhash, 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, 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, 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>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, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, 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, 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, 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>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, 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, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<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, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<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, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<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, 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, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
|
<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, bcmath, 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, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, 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, phalcon, 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, vips, 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, phalcon, 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, vips, 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 +743,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 +762,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 +781,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 +800,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 +863,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>
|
||||||
@@ -798,7 +875,7 @@ Have a look at the following table to see all supported environment variables fo
|
|||||||
<td><code>ENABLE_MAIL</code></td>
|
<td><code>ENABLE_MAIL</code></td>
|
||||||
<td>bool</td>
|
<td>bool</td>
|
||||||
<td><code>0</code></td>
|
<td><code>0</code></td>
|
||||||
<td>Enable local email catch-all.<br/>Postfix will be configured for local delivery and all mails sent (even to real domains) will be catched locally. No email will ever go out. They will all be stored in a local devilbox account.<br/>Value: <code>0</code> or <code>1</code></td>
|
<td>Start local postfix with or without email catch-all.<br/><code>0</code>: Postfix service disabled.<br/><code>1</code>: Postfix service started normally.<br/><code>2</code>: Postfix service started configured for local delivery and all mails sent (even to real domains) will be catched locally. No email will ever go out. They will all be stored in a local devilbox account.<br/>Value: <code>0</code>, <code>1</code> or <code>2</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>FORWARD_PORTS_TO_LOCALHOST</code></td>
|
<td><code>FORWARD_PORTS_TO_LOCALHOST</code></td>
|
||||||
@@ -845,7 +922,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>
|
||||||
@@ -871,7 +948,11 @@ Have a look at the following table to see all offered volumes for each Docker im
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>/var/mail</code></td>
|
<td><code>/var/mail</code></td>
|
||||||
<td>Emails caught be the postfix catch-all (<code>ENABLE_MAIL=1</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>
|
||||||
|
<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>
|
<tr>
|
||||||
<td colspan="3"></td>
|
<td colspan="3"></td>
|
||||||
@@ -936,7 +1017,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 +1081,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 +1101,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 +1137,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 +1150,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 +1219,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 \
|
||||||
@@ -1186,12 +1274,12 @@ $ docker run -d \
|
|||||||
|
|
||||||
#### Launch Postfix for mail-catching
|
#### Launch Postfix for mail-catching
|
||||||
|
|
||||||
Once you set `$ENABLE_MAIL=1`, all mails sent via any of your PHP applications no matter to which domain, are catched locally into the `devilbox` account. You can also mount the mail directory locally to hook in with mutt and read those mails.
|
Once you set `$ENABLE_MAIL=2`, all mails sent via any of your PHP applications no matter to which domain, are catched locally into the `devilbox` account. You can also mount the mail directory locally to hook in with mutt and read those mails.
|
||||||
```shell
|
```shell
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-p 127.0.0.1:9000:9000 \
|
-p 127.0.0.1:9000:9000 \
|
||||||
-v /tmp/mail:/var/mail \
|
-v /tmp/mail:/var/mail \
|
||||||
-e ENABLE_MAIL=1 \
|
-e ENABLE_MAIL=2 \
|
||||||
-t devilbox/php-fpm:7.2-prod
|
-t devilbox/php-fpm:7.2-prod
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -1238,10 +1326,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>
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,13 @@ html_errors = {{ item.cfg[item.key].html_errors | default(item.cfg[
|
|||||||
|
|
||||||
|
|
||||||
; 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 %}
|
||||||
|
|||||||
@@ -3,10 +3,16 @@
|
|||||||
FROM devilbox/php-fpm-5.2
|
FROM devilbox/php-fpm-5.2
|
||||||
{% elif php_version == 5.3 %}
|
{% elif php_version == 5.3 %}
|
||||||
FROM devilbox/php-fpm-5.3
|
FROM devilbox/php-fpm-5.3
|
||||||
{% elif php_version == 7.4 %}
|
{% elif php_version == 5.4 %}
|
||||||
FROM devilbox/php-fpm-7.4
|
FROM devilbox/php-fpm-5.4
|
||||||
|
{% elif php_version == 5.5 %}
|
||||||
|
FROM devilbox/php-fpm-5.5
|
||||||
{% 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 %}
|
||||||
@@ -53,18 +59,11 @@ RUN set -eux \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
{% if php_version in [5.2, 5.3, 5.4, 5.5] %}
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& rm -f /etc/apt/sources.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& { \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
echo "deb http://ftp.debian.org/debian jessie main"; \
|
dpkg-dev \
|
||||||
echo "#deb http://ftp.debian.org/debian jessie-updates main"; \
|
procps \
|
||||||
echo "deb http://security.debian.org/debian-security jessie/updates main"; \
|
|
||||||
} | tee /etc/apt/sources.list
|
|
||||||
{% endif %}
|
|
||||||
RUN set -eux \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,14 +31,34 @@ FROM devilbox/php-fpm:{{ php_version }}-base as builder
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
{% for build_dep in build_deps | unique | sort %}
|
{% for build_dep in build_deps | unique | sort %}
|
||||||
{{ build_dep }} \
|
{{ build_dep }} \
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
# Build tools
|
||||||
|
autoconf \
|
||||||
|
bison \
|
||||||
|
bisonc++ \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
curl \
|
||||||
|
dpkg-dev \
|
||||||
|
file \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
lemon \
|
||||||
|
libc-client-dev \
|
||||||
|
libc-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
make \
|
||||||
|
patch \
|
||||||
|
pkg-config \
|
||||||
|
re2c \
|
||||||
|
xz-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
@@ -94,9 +114,12 @@ RUN set -eux \
|
|||||||
{%- if 'configure' in extensions_available[ext][php_version] -%}
|
{%- if 'configure' in extensions_available[ext][php_version] -%}
|
||||||
{{- "\n\t" }}# Custom: configure command
|
{{- "\n\t" }}# Custom: configure command
|
||||||
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
||||||
|
{%- elif 'configure' in extensions_available[ext]['all'] -%}
|
||||||
|
{{- "\n\t" }}# Default: configure command
|
||||||
|
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{{- "\n\t" }}# Installation
|
{{- "\n\t" }}# Installation
|
||||||
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
{{- "\n\t" }}&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) {{ ext }} \
|
||||||
{#-
|
{#-
|
||||||
# -------------------- 2.) PECL --------------------
|
# -------------------- 2.) PECL --------------------
|
||||||
-#}
|
-#}
|
||||||
@@ -157,7 +180,7 @@ RUN set -eux \
|
|||||||
{{- "\n\t" }}# Custom: configure command
|
{{- "\n\t" }}# Custom: configure command
|
||||||
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
{{- "\n\t" }}&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) {{ ext }} \
|
||||||
{#-
|
{#-
|
||||||
# -------------------- 2.) PECL --------------------
|
# -------------------- 2.) PECL --------------------
|
||||||
-#}
|
-#}
|
||||||
@@ -289,9 +312,9 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Shrink everything down
|
# Shrink everything down
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& (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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -319,20 +342,11 @@ LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-mods"
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy artifacts from builder
|
### Install runtime libraries
|
||||||
###
|
|
||||||
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/lib/oracle/ /usr/lib/oracle/
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Install
|
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
{# Loop over enabled run-time dependencies -#}
|
{# Loop over enabled run-time dependencies -#}
|
||||||
{%- set run_deps = [] -%}
|
{%- set run_deps = [] -%}
|
||||||
{%- for ext in extensions_enabled -%}
|
{%- for ext in extensions_enabled -%}
|
||||||
@@ -363,7 +377,18 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Post Install
|
### 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/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install executions
|
||||||
###
|
###
|
||||||
{# Loop over enabled extensions #}
|
{# Loop over enabled extensions #}
|
||||||
{%- set post_commands = {} -%}
|
{%- set post_commands = {} -%}
|
||||||
@@ -430,6 +455,13 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
# 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -26,9 +26,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-prod"
|
|||||||
### Install
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
@@ -36,16 +35,21 @@ 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 \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
{% if debug %}
|
{% if debug %}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
FROM devilbox/php-fpm:{{ php_version }}-prod
|
FROM devilbox/php-fpm:{{ php_version }}-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
@@ -22,6 +23,19 @@ LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work"
|
|||||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work"
|
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-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,9 +46,10 @@ 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 \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
@@ -65,8 +80,8 @@ RUN set -eux \
|
|||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endfor -%}{{ "\n\t" }}\
|
{%- endfor -%}{{ "\n\t" }}\
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -76,6 +91,9 @@ RUN set -eux \
|
|||||||
blackfire-agent \
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
{% if php_version not in [5.2, 5.3, 5.4, 5.5] %}
|
||||||
|
certbot \
|
||||||
|
{% endif %}
|
||||||
coreutils \
|
coreutils \
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
@@ -87,6 +105,7 @@ RUN set -eux \
|
|||||||
git-svn \
|
git-svn \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -97,28 +116,31 @@ RUN set -eux \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0] %}
|
\
|
||||||
|
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] %}
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
{% else %}
|
{% else %}
|
||||||
mysql-client \
|
mysql-client \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -129,16 +151,17 @@ RUN set -eux \
|
|||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
|
||||||
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 \
|
{% if php_version in [5.6, 7.0] %}
|
||||||
|
zsh-common \
|
||||||
|
{% endif %}
|
||||||
&& 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 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -193,19 +216,17 @@ RUN set -eux \
|
|||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}\{{ "\n" }}
|
{{ "\n\t" }}\{{ "\n" }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
&& (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) \
|
{% for f in directory_to_clean %}
|
||||||
&& (rm -rf /home/devilbox/.composer || true) \
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
&& (rm -rf /home/devilbox/.config || true) \
|
{% endfor %}
|
||||||
&& (rm -rf /home/devilbox/.npm || true) \
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
\
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
@@ -224,13 +245,13 @@ RUN set -eux \
|
|||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Version specific gem version available? -#}
|
{#- Version specific gem version available? -#}
|
||||||
{%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%}
|
{%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%}
|
||||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
|
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
|
||||||
{#- Generic gem version available? -#}
|
{#- Generic gem version available? -#}
|
||||||
{%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%}
|
{%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%}
|
||||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
|
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
|
||||||
{#- No version info available -#}
|
{#- No version info available -#}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }} \
|
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }} \
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Symlinks available? -#}
|
{#- Symlinks available? -#}
|
||||||
{%- if 'link' in composer_available[tool] -%}
|
{%- if 'link' in composer_available[tool] -%}
|
||||||
@@ -254,12 +275,21 @@ RUN set -eux \
|
|||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}\{{ "\n" }}
|
{{ "\n\t" }}\{{ "\n" }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
&& rm -rf /tmp/* \
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -277,18 +307,18 @@ RUN set -eux \
|
|||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Version specific gem version available? -#}
|
{#- Version specific gem version available? -#}
|
||||||
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
|
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
|
||||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
|
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
|
||||||
{#- Generic gem version available? -#}
|
{#- Generic gem version available? -#}
|
||||||
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
|
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
|
||||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
|
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
|
||||||
{#- No version info available -#}
|
{#- No version info available -#}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }}' devilbox \
|
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }}' devilbox \
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Fail fast version -#}
|
{#- Fail fast version -#}
|
||||||
{%- if build_fail_fast -%}
|
{%- if build_fail_fast -%}
|
||||||
{%- if 'check' in npm_available[tool] -%}
|
{%- if 'check' in npm_available[tool] -%}
|
||||||
{{ "\n\t" }}&& PATH=$PATH:/opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin /opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin/{{ npm_available[tool]['check'] }}{{ "\n\n" }}
|
{{ "\n\t" }}&& PATH=$PATH:{{ nvm_home }}/versions/node/$(/bin/ls -1 {{ nvm_home }}/versions/node/ | sort -V | tail -1)/bin {{ nvm_home }}/versions/node/$(/bin/ls -1 {{ nvm_home }}/versions/node/ | sort -V | tail -1)/bin/{{ npm_available[tool]['check'] }}{{ "\n\n" }}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
@@ -303,16 +333,26 @@ RUN set -eux \
|
|||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}\{{ "\n" }}
|
{{ "\n\t" }}\{{ "\n" }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
&& 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 \
|
&& if [ -f "{{ nvm_home }}/nvm.sh" ]; then \
|
||||||
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
ln -sf $(dirname $(su -c '. {{ nvm_home }}/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
&& rm -rf /home/devilbox/.npm \
|
\
|
||||||
&& rm -rf /home/devilbox/.config \
|
&& su -c '. {{ nvm_home }}/nvm.sh; npm cache clear --force' devilbox \
|
||||||
&& rm -rf /tmp/* \
|
&& su -c '. {{ nvm_home }}/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (rm -rf /tmp/.* || true) \
|
||||||
\
|
\
|
||||||
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find {{ nvm_home }} -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -356,13 +396,21 @@ RUN set -eux \
|
|||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}\{{ "\n" }}
|
{{ "\n\t" }}\{{ "\n" }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
&& rm -rf /root/.gem \
|
\
|
||||||
&& rm -rf /tmp/* \
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -380,13 +428,13 @@ RUN set -eux \
|
|||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Version specific gem version available? -#}
|
{#- Version specific gem version available? -#}
|
||||||
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
|
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
|
||||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} \
|
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} || true \
|
||||||
{#- Generic gem version available? -#}
|
{#- Generic gem version available? -#}
|
||||||
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
|
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
|
||||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} \
|
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} || true \
|
||||||
{#- No version info available -#}
|
{#- No version info available -#}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} \
|
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} || true \
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{#- Fail fast version -#}
|
{#- Fail fast version -#}
|
||||||
{%- if build_fail_fast -%}
|
{%- if build_fail_fast -%}
|
||||||
@@ -406,13 +454,21 @@ RUN set -eux \
|
|||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ "\n\t" }}\{{ "\n" }}
|
{{ "\n\t" }}\{{ "\n" }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
&& rm -rf /root/.cache/pip \
|
\
|
||||||
&& rm -rf /tmp/* \
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
{% for f in directory_to_clean %}
|
||||||
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true) \
|
&& (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/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -420,7 +476,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="{{ nvm_home }}/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"; \
|
||||||
@@ -502,17 +561,27 @@ RUN set -eux \
|
|||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{% endfor %}{{ "\n\t" }}\
|
{% endfor %}{{ "\n\t" }}\
|
||||||
# -------------------- Cleanup --------------------
|
# -------------------- Cleanup --------------------
|
||||||
&& rm -rf /home/devilbox/.config/ \
|
\
|
||||||
&& rm -rf /root/.ansible \
|
{% for f in directory_to_clean %}
|
||||||
&& rm -rf /root/.console \
|
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||||
&& rm -rf /root/.composer \
|
{% endfor %}
|
||||||
&& rm -rf /root/.drush \
|
\
|
||||||
&& rm -rf /root/.pm2 \
|
{% for f in directory_to_clean %}
|
||||||
&& rm -rf /tmp/* \
|
&& (rm -rf /root/{{ f }} || true) \
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
&& (rm -rf /tmp/.* || true)
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
# 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ php_all_versions:
|
|||||||
- 7.3
|
- 7.3
|
||||||
- 7.4
|
- 7.4
|
||||||
- 8.0
|
- 8.0
|
||||||
|
- 8.1
|
||||||
|
- 8.2
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -39,11 +39,15 @@ php_settings_ini:
|
|||||||
track_errors: 'On'
|
track_errors: 'On'
|
||||||
log_errors: 'On'
|
log_errors: 'On'
|
||||||
html_errors: 'Off'
|
html_errors: 'Off'
|
||||||
# Xdebug settings
|
# Xdebug2 settings
|
||||||
xdebug_default_enable: 'Off'
|
xdebug2_default_enable: 'Off'
|
||||||
xdebug_profiler_enable: 'Off'
|
xdebug2_profiler_enable: 'Off'
|
||||||
xdebug_remote_enable: 'Off'
|
xdebug2_remote_enable: 'Off'
|
||||||
xdebug_remote_autostart: 'Off'
|
xdebug2_remote_autostart: 'Off'
|
||||||
|
# Xdebug3 settings
|
||||||
|
xdebug3_mode: 'Off'
|
||||||
|
xdebug3_start_with_request: 'default'
|
||||||
|
xdebug3_client_port: '9000'
|
||||||
|
|
||||||
# ---- Inherits from base ----
|
# ---- Inherits from base ----
|
||||||
mods:
|
mods:
|
||||||
@@ -60,12 +64,15 @@ php_settings_ini:
|
|||||||
track_errors: 'On'
|
track_errors: 'On'
|
||||||
log_errors: 'On'
|
log_errors: 'On'
|
||||||
html_errors: 'On'
|
html_errors: 'On'
|
||||||
# Xdebug settings
|
# Xdebug2 settings
|
||||||
xdebug_default_enable: 'Off'
|
xdebug2_default_enable: 'Off'
|
||||||
xdebug_profiler_enable: 'Off'
|
xdebug2_profiler_enable: 'Off'
|
||||||
xdebug_remote_enable: 'Off'
|
xdebug2_remote_enable: 'Off'
|
||||||
xdebug_remote_autostart: 'Off'
|
xdebug2_remote_autostart: 'Off'
|
||||||
|
# Xdebug3 settings
|
||||||
|
xdebug3_mode: 'Off'
|
||||||
|
xdebug3_start_with_request: 'default'
|
||||||
|
xdebug3_client_port: '9000'
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# php-fpm.conf
|
# php-fpm.conf
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user