mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-21 08:21:16 +00:00
Compare commits
468 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff61a450ac | ||
|
|
7e775622a5 | ||
|
|
7cc5e25528 | ||
|
|
b6265751ba | ||
|
|
f09e5ad64e | ||
|
|
bfbb967cb8 | ||
|
|
ceadad5512 | ||
|
|
eec7f6c0e2 | ||
|
|
5567bc0a8c | ||
|
|
3934fdc912 | ||
|
|
e34c71f377 | ||
|
|
8f7953248f | ||
|
|
30c3118a22 | ||
|
|
c3628171f1 | ||
|
|
9dea48147d | ||
|
|
36bc9dc099 | ||
|
|
820159d95a | ||
|
|
a7292fdff9 | ||
|
|
2bb64ccff6 | ||
|
|
39db14d294 | ||
|
|
b724ceaca3 | ||
|
|
308f435a7b | ||
|
|
5b41a9b2f7 | ||
|
|
725f52eda8 | ||
|
|
796b04b457 | ||
|
|
92b217fc53 | ||
|
|
d79d834413 | ||
|
|
24c58ce57e | ||
|
|
8f363ace59 | ||
|
|
0fb753511a | ||
|
|
28b7aade7f | ||
|
|
3db1b56b7b | ||
|
|
4cc5e57f24 | ||
|
|
39b32384b6 | ||
|
|
887e7c67c5 | ||
|
|
0126289bf0 | ||
|
|
101e8abb65 | ||
|
|
69ffc63607 | ||
|
|
fb5a242965 | ||
|
|
8d305b3d96 | ||
|
|
9c4490f820 | ||
|
|
6054f92e9e | ||
|
|
f2d1e41377 | ||
|
|
c64e92e94e | ||
|
|
6e15be18a4 | ||
|
|
60555c3556 | ||
|
|
65e3676aa6 | ||
|
|
bc19843825 | ||
|
|
1b047aeee3 | ||
|
|
c55e6d4f53 | ||
|
|
5b6e7e7fc9 | ||
|
|
91943783d8 | ||
|
|
bafc1b2544 | ||
|
|
864f7086c8 | ||
|
|
f71ef64238 | ||
|
|
825bc41054 | ||
|
|
c722d4cc8f | ||
|
|
16f09f8bf6 | ||
|
|
b98b2c31b3 | ||
|
|
ab5264d5be | ||
|
|
7101c8c07c | ||
|
|
f00077a126 | ||
|
|
bf3dffc5b4 | ||
|
|
c76b220e4f | ||
|
|
ab9a3e188f | ||
|
|
76d33f468f | ||
|
|
f6c47da969 | ||
|
|
4fa108269e | ||
|
|
9db2f78914 | ||
|
|
e40b801139 | ||
|
|
54831fd444 | ||
|
|
04e7c24f3a | ||
|
|
e199124ca6 | ||
|
|
f26b491e5f | ||
|
|
f45e004a2f | ||
|
|
111756d4ae | ||
|
|
01126fb861 | ||
|
|
e589728280 | ||
|
|
67a7704c56 | ||
|
|
5ca99aebc8 | ||
|
|
3cf353abae | ||
|
|
566dba9b1e | ||
|
|
63598496fe | ||
|
|
52aa0d4d42 | ||
|
|
40c6d485cc | ||
|
|
d7db5dc72a | ||
|
|
2ad29a8c3e | ||
|
|
df09f78b38 | ||
|
|
0fbc57c154 | ||
|
|
c991ca9eaa | ||
|
|
bd9aac8cba | ||
|
|
873bcce2e7 | ||
|
|
bc0a08ce2f | ||
|
|
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 |
62
.ansible/CONFIGURATIONS/php.ini.j2
Normal file
62
.ansible/CONFIGURATIONS/php.ini.j2
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for {{ php_version }}-{{ item.key }}
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; 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 = {{ item.cfg[item.key].memory_limit | default(item.cfg[item.alt].memory_limit) }}
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = {{ item.cfg[item.key].max_execution_time | default(item.cfg[item.alt].max_execution_time) }}
|
||||||
|
max_input_time = {{ item.cfg[item.key].max_input_time | default(item.cfg[item.alt].max_input_time) }}
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = {{ item.cfg[item.key].post_max_size | default(item.cfg[item.alt].post_max_size) }}
|
||||||
|
upload_max_filesize = {{ item.cfg[item.key].upload_max_filesize | default(item.cfg[item.alt].upload_max_filesize) }}
|
||||||
|
max_file_uploads = {{ item.cfg[item.key].max_file_uploads | default(item.cfg[item.alt].max_file_uploads) }}
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = {{ item.cfg[item.key].variables_order | default(item.cfg[item.alt].variables_order) }}
|
||||||
|
{# Only available since PHP >=5.4 #}
|
||||||
|
{% if not (php_version == 5.2 or php_version == 5.3 ) %}
|
||||||
|
max_input_vars = {{ item.cfg[item.key].max_input_vars | default(item.cfg[item.alt].max_input_vars) }}
|
||||||
|
{% endif %}
|
||||||
|
max_input_nesting_level = {{ item.cfg[item.key].max_input_nesting_level | default(item.cfg[item.alt].max_input_nesting_level) }}
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = {{ item.cfg[item.key].error_reporting | default(item.cfg[item.alt].error_reporting) }}
|
||||||
|
xmlrpc_errors = {{ item.cfg[item.key].xmlrpc_errors | default(item.cfg[item.alt].xmlrpc_errors) }}
|
||||||
|
report_memleaks = {{ item.cfg[item.key].report_memleaks | default(item.cfg[item.alt].report_memleaks) }}
|
||||||
|
display_errors = {{ item.cfg[item.key].display_errors | default(item.cfg[item.alt].display_errors) }}
|
||||||
|
display_startup_errors = {{ item.cfg[item.key].display_startup_errors | default(item.cfg[item.alt].display_startup_errors) }}
|
||||||
|
{# Only available before PHP 7.2 #}
|
||||||
|
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
|
||||||
|
track_errors = {{ item.cfg[item.key].track_errors | default(item.cfg[item.alt].track_errors) }}
|
||||||
|
{% endif %}
|
||||||
|
log_errors = {{ item.cfg[item.key].log_errors | default(item.cfg[item.alt].log_errors) }}
|
||||||
|
html_errors = {{ item.cfg[item.key].html_errors | default(item.cfg[item.alt].html_errors) }}
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
{% 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.default_enable = {{ item.cfg[item.key].xdebug2_default_enable | default(item.cfg[item.alt].xdebug2_default_enable) }}
|
||||||
|
xdebug.profiler_enable = {{ item.cfg[item.key].xdebug2_profiler_enable | default(item.cfg[item.alt].xdebug2_profiler_enable) }}
|
||||||
|
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 %}
|
||||||
@@ -1,10 +1,19 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
{{ edit_comment_base }}
|
{{ edit_comment_base }}
|
||||||
{% if php_version == 5.2 %}
|
{% if php_version == 5.2 %}
|
||||||
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 == 5.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 %}
|
||||||
@@ -51,18 +60,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/*
|
||||||
|
|
||||||
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
{{ edit_comment_mods }}
|
{{ edit_comment_mods }}
|
||||||
FROM devilbox/php-fpm:{{ php_version }}-base as builder
|
FROM devilbox/php-fpm:{{ php_version }}-base as builder
|
||||||
|
|
||||||
@@ -31,14 +32,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 +115,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 +181,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 --------------------
|
||||||
-#}
|
-#}
|
||||||
@@ -281,7 +305,7 @@ RUN set -eux \
|
|||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -289,9 +313,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 +343,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 +378,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 +456,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
|
||||||
###
|
###
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
{{ edit_comment_prod }}
|
{{ edit_comment_prod }}
|
||||||
FROM devilbox/php-fpm:{{ php_version }}-mods
|
FROM devilbox/php-fpm:{{ php_version }}-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
@@ -26,9 +27,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 +36,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 %}
|
||||||
533
.ansible/DOCKERFILES/Dockerfile-slim.j2
Normal file
533
.ansible/DOCKERFILES/Dockerfile-slim.j2
Normal file
@@ -0,0 +1,533 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
{{ edit_comment_slim }}
|
||||||
|
{% import './jinja2/macros-work.j2' as fn %}
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
{%- for repo in base_apt_repositories_enabled -%}
|
||||||
|
{#- Not disabled -#}
|
||||||
|
{%- if ('disabled' not in base_apt_repositories_available[repo]) or (php_version not in base_apt_repositories_available[repo]['disabled']) -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [PRE] -#}
|
||||||
|
{%- if fn.get_pre(php_version, repo, base_apt_repositories_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_pre(php_version, repo, base_apt_repositories_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [KEY] -#}
|
||||||
|
{%- if fn.tool_repo_get_key(php_version, repo, base_apt_repositories_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ fn.tool_repo_get_key(php_version, repo, base_apt_repositories_available) }} \
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [DEB] -#}
|
||||||
|
{%- if fn.tool_repo_get_deb(php_version, repo, base_apt_repositories_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& echo "{{ fn.tool_repo_get_deb(php_version, repo, base_apt_repositories_available) }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{{ "\n\t" }}&& true
|
||||||
|
|
||||||
|
{% set build_deps = [] -%}
|
||||||
|
{%- for ext in base_software_enabled -%}
|
||||||
|
{%- for dep in fn.get_build_dep(php_version, ext, base_software_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- build_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if build_deps -%}
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{% for build_dep in build_deps | unique | sort %}
|
||||||
|
{{ build_dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] %}
|
||||||
|
mariadb-client \
|
||||||
|
{% else %}
|
||||||
|
mysql-client \
|
||||||
|
{% endif %}
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
{% set tools_apt = [] -%}
|
||||||
|
{%- for tool in base_software_enabled -%}
|
||||||
|
{%- if ('disabled' not in base_software_available[tool]) or (php_version not in base_software_available[tool]['disabled']) -%}
|
||||||
|
{%- if fn.tool_apt_get_package(php_version, tool, base_software_available) -%}
|
||||||
|
{{- tools_apt.append(fn.tool_apt_get_package(php_version, tool, base_software_available)) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{{- "\n" -}}
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
{{- "\t\t# ---------- type: apt ----------\n" -}}
|
||||||
|
{%- for apt in tools_apt | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "\t" -}}&& rm -rf /var/lib/apt/lists/*{{- "\n" -}}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
{% for tool in base_software_enabled -%}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in base_software_available[tool]) or (php_version not in base_software_available[tool]['disabled']) -%}
|
||||||
|
{{- "\n" }}# -------------------- {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{#- -#}
|
||||||
|
{#- [PRE] -#}
|
||||||
|
{%- if fn.get_pre(php_version, tool, base_software_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_pre(php_version, tool, base_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [COMMAND] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, base_software_available) == 'custom' -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.tool_custom_get_command(php_version, tool, base_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [POST] -#}
|
||||||
|
{%- if fn.get_post(php_version, tool, base_software_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_post(php_version, tool, base_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [CHECK] -#}
|
||||||
|
{%- if 'check' in base_software_available[tool] -%}
|
||||||
|
{{ "\n\t" }}&& {{ base_software_available[tool]['check'] | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- Finalize -#}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
{% set tools_apt = [] -%}
|
||||||
|
{%- for tool in base_software_enabled -%}
|
||||||
|
{%- if ('disabled' not in base_software_available[tool]) or (php_version not in base_software_available[tool]['disabled']) -%}
|
||||||
|
{%- if fn.tool_apt_get_package(php_version, tool, base_software_available) -%}
|
||||||
|
{{- tools_apt.append(fn.tool_apt_get_package(php_version, tool, base_software_available)) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{{- "\n" -}}
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
{{- "\t\t# ---------- type: apt ----------\n" -}}
|
||||||
|
{%- for apt in tools_apt | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "\t" -}}&& rm -rf /var/lib/apt/lists/*{{- "\n" -}}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-{{ php_version }}.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-{{ php_version }}.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
{% for tool in base_software_enabled -%}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in base_software_available[tool]) or (php_version not in base_software_available[tool]['disabled']) -%}
|
||||||
|
{{- "\n" }}# -------------------- {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{#- -#}
|
||||||
|
{#- [CHECK] -#}
|
||||||
|
{%- if 'check' in base_software_available[tool] -%}
|
||||||
|
{{ "\n\t" }}&& {{ base_software_available[tool]['check'] | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- Finalize -#}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^{{ php_version }}' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="{{ php_version }}-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
576
.ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
576
.ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
@@ -0,0 +1,576 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
{{ edit_comment_work }}
|
||||||
|
{% import './jinja2/macros-work.j2' as fn %}
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/7: Devilbox work image (HELP BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to install custom tools
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-slim as devilbox-work-help-builder
|
||||||
|
|
||||||
|
{% set build_deps = [] -%}
|
||||||
|
{%- for ext in help_software_enabled -%}
|
||||||
|
{%- for dep in fn.get_build_dep(php_version, ext, help_software_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- build_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if build_deps -%}
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{% for build_dep in build_deps | unique | sort %}
|
||||||
|
{{ build_dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{% set run_deps = [] -%}
|
||||||
|
{%- for ext in help_software_enabled -%}
|
||||||
|
{%- for dep in fn.get_run_dep(php_version, ext, help_software_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- run_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if run_deps -%}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install run_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{% for run_dep in run_deps | unique | sort %}
|
||||||
|
{{ run_dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required helper tools from group_vars (work-help.yml)
|
||||||
|
###
|
||||||
|
{% for tool in help_software_enabled -%}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in help_software_available[tool]) or (php_version not in help_software_available[tool]['disabled']) -%}
|
||||||
|
{{- "\n" }}# -------------------- {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{#- -#}
|
||||||
|
{#- [PRE] -#}
|
||||||
|
{%- if fn.get_pre(php_version, tool, help_software_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_pre(php_version, tool, help_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [COMMAND] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, help_software_available) == 'custom' -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.tool_custom_get_command(php_version, tool, help_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [POST] -#}
|
||||||
|
{%- if fn.get_post(php_version, tool, help_software_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_post(php_version, tool, help_software_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- Finalize -#}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/7: Devilbox work image (HELP)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-slim as devilbox-work-help
|
||||||
|
|
||||||
|
{% set run_deps = [] -%}
|
||||||
|
{%- for ext in help_software_enabled -%}
|
||||||
|
{%- for dep in fn.get_run_dep(php_version, ext, help_software_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- run_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if run_deps -%}
|
||||||
|
###
|
||||||
|
### Install run_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{% for run_dep in run_deps | unique | sort %}
|
||||||
|
{{ run_dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy nvm
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-help-builder /opt/nvm /opt/nvm
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy binaries (Composer & Pip binaries)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-help-builder /usr/local/bin /usr/local/bin
|
||||||
|
|
||||||
|
###
|
||||||
|
### Python packages
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-help-builder /usr/local/lib /usr/local/lib
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash (composer, node yarn)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
#echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure yarn, composer and node are in PATH"; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="{{ nvm_home }}/versions/node/$(node --version)/bin:${PATH}"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure to load nvm"; \
|
||||||
|
echo 'export NVM_DIR="{{ nvm_home }}"'; \
|
||||||
|
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'; \
|
||||||
|
#echo; \
|
||||||
|
#echo ". /etc/bash-devilbox"; \
|
||||||
|
#echo; \
|
||||||
|
#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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/7: Devilbox work image (HELP TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-work-help as devilbox-work-help-test
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required helper tools from group_vars (work-help.yml)
|
||||||
|
###
|
||||||
|
{% for tool in help_software_enabled -%}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in help_software_available[tool]) or (php_version not in help_software_available[tool]['disabled']) -%}
|
||||||
|
{{- "\n" }}# -------------------- {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{#- -#}
|
||||||
|
{#- [CHECK] -#}
|
||||||
|
{%- if 'check' in help_software_available[tool] -%}
|
||||||
|
{{ "\n\t" }}&& {{ help_software_available[tool]['check'] | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- Finalize -#}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^{{ php_version }}' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/7: Devilbox work image (TOOLS BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### This stage can be easily modified by adding tools into the ./php_tools/ directory.
|
||||||
|
###
|
||||||
|
FROM devilbox-work-help as devilbox-work-tools-builder
|
||||||
|
|
||||||
|
{% set build_deps = [] -%}
|
||||||
|
{%- set run_deps = [] -%}
|
||||||
|
{%- set tools_apt = [] -%}
|
||||||
|
{%- for tool in tools_enabled -%}
|
||||||
|
{%- for dep in fn.get_build_dep(php_version, tool, tools_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- build_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- for dep in fn.get_run_dep(php_version, tool, tools_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- run_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if ('disabled' not in tools_available[tool]) or (php_version not in tools_available[tool]['disabled']) -%}
|
||||||
|
{%- if fn.tool_apt_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{{- tools_apt.append(fn.tool_apt_get_package(php_version, tool, tools_available)) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- if build_deps or run_deps or tools_apt -%}
|
||||||
|
###
|
||||||
|
### Install build_dep, run_dep or tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{{- "\n" -}}
|
||||||
|
{%- if build_deps -%}
|
||||||
|
{{- "\t\t# ---------- build_deps ----------\n" -}}
|
||||||
|
{%- for apt in build_deps | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- if run_deps -%}
|
||||||
|
{{- "\t\t# ---------- run_deps ----------\n" -}}
|
||||||
|
{%- for apt in run_deps | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
{{- "\t\t# ---------- type: apt ----------\n" -}}
|
||||||
|
{%- for apt in tools_apt | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "\t" -}}&& rm -rf /var/lib/apt/lists/*{{- "\n" -}}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install defined php_tools
|
||||||
|
###
|
||||||
|
{% for tool in tools_enabled -%}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in tools_available[tool]) or (php_version not in tools_available[tool]['disabled']) -%}
|
||||||
|
{{- "\n" }}# -------------------- ({{ fn.get_type(php_version, tool, tools_available) }}) {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{#- -#}
|
||||||
|
{#- [PRE] -#}
|
||||||
|
{%- if fn.get_pre(php_version, tool, tools_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_pre(php_version, tool, tools_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [CUSTOM] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, tools_available) == 'custom' -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.tool_custom_get_command(php_version, tool, tools_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [NPM] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, tools_available) == 'npm' -%}
|
||||||
|
{%- set npm_package = fn.tool_npm_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{%- set npm_version = fn.tool_npm_get_version(php_version, tool, tools_available) -%}
|
||||||
|
{%- set npm_binary = fn.tool_npm_get_binary(php_version, tool, tools_available) -%}
|
||||||
|
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install --location=global {{ npm_package }}{{ npm_version }}' devilbox \
|
||||||
|
{%- if npm_binary | length -%}
|
||||||
|
{{ "\n\t" }}&& ln -s {{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/{{ npm_binary }} /usr/local/bin/ \
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [COMPOSER] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, tools_available) == 'composer' -%}
|
||||||
|
{%- set comp_composer = fn.tool_composer_get_composer(php_version, tool, tools_available) -%}
|
||||||
|
{%- set comp_package = fn.tool_composer_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{%- set comp_version = fn.tool_composer_get_version(php_version, tool, tools_available) -%}
|
||||||
|
{%- set comp_flags = fn.tool_composer_get_flags(php_version, tool, tools_available) -%}
|
||||||
|
{%- set comp_binary = fn.tool_composer_get_binary(php_version, tool, tools_available) -%}
|
||||||
|
{#- FIXME: use su -c ' devilbox -#}
|
||||||
|
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ comp_composer }} global require --no-interaction --no-cache {{ comp_flags }} {{ comp_package }}{{ comp_version }} \
|
||||||
|
{%- if comp_binary | length -%}
|
||||||
|
{{ "\n\t" }}&& ln -s {{ composer_home }}/vendor/{{ comp_package }}/{{ comp_binary }} /usr/local/bin/ \
|
||||||
|
{%- endif -%}
|
||||||
|
{{ "\n\t" }}&& rm -rf {{ composer_home }}/cache/* \
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [RUBYGEM] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, tools_available) == 'rubygem' -%}
|
||||||
|
{%- set rubygem_package = fn.tool_rubygem_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{%- set rubygem_version = fn.tool_rubygem_get_version(php_version, tool, tools_available) -%}
|
||||||
|
{{ "\n\t" }}&& gem install {{ rubygem_package }}{{ rubygem_version }} \
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [PIP] -#}
|
||||||
|
{%- if fn.get_type(php_version, tool, tools_available) == 'pip' -%}
|
||||||
|
{%- set pip_package = fn.tool_pip_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{%- set pip_version = fn.tool_pip_get_version(php_version, tool, tools_available) -%}
|
||||||
|
{{ "\n\t" }}&& pip install --no-cache-dir --no-compile --force-reinstall {{ pip_package }}{{ pip_version }} \
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [POST] -#}
|
||||||
|
{%- if fn.get_post(php_version, tool, tools_available) | length -%}
|
||||||
|
{{ "\n\t" }}&& {{ fn.get_post(php_version, tool, tools_available) | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- [CHECK] -#}
|
||||||
|
{%- if 'check' in tools_available[tool] -%}
|
||||||
|
{{ "\n\t" }}&& {{ tools_available[tool]['check'] | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- -#}
|
||||||
|
{#- Finalize -#}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post fixes
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/var/lib/gems" ]; then \
|
||||||
|
mkdir "/var/lib/gems"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 5/7: Devilbox work image (TOOLS)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### This stage can be easily modified by adding tools into the ./php_tools/ directory.
|
||||||
|
###
|
||||||
|
FROM devilbox-work-help as devilbox-work-tools
|
||||||
|
|
||||||
|
{% set run_deps = [] -%}
|
||||||
|
{%- set tools_apt = [] -%}
|
||||||
|
{%- for tool in tools_enabled -%}
|
||||||
|
{%- for dep in fn.get_run_dep(php_version, tool, tools_available) | from_json -%}
|
||||||
|
{%- if dep -%}
|
||||||
|
{{- run_deps.append(dep) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if ('disabled' not in tools_available[tool]) or (php_version not in tools_available[tool]['disabled']) -%}
|
||||||
|
{%- if fn.tool_apt_get_package(php_version, tool, tools_available) -%}
|
||||||
|
{{- tools_apt.append(fn.tool_apt_get_package(php_version, tool, tools_available)) -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{%- if build_deps or run_deps or tools_apt -%}
|
||||||
|
###
|
||||||
|
### Install run_dep or tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
{{- "\n" -}}
|
||||||
|
{%- if run_deps -%}
|
||||||
|
{{- "\t\t# ---------- run_deps ----------\n" -}}
|
||||||
|
{%- for apt in run_deps | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- if tools_apt -%}
|
||||||
|
{{- "\t\t# ---------- type: apt ----------\n" -}}
|
||||||
|
{%- for apt in tools_apt | unique | sort -%}
|
||||||
|
{{- "\t\t" + apt + " \\" + "\n" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "\t" -}}&& rm -rf /var/lib/apt/lists/*{{- "\n" -}}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Custom (binaries in /usr/local/bin)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-tools-builder /usr/local/bin /usr/local/bin
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy NPM
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-tools-builder /opt/nvm /opt/nvm
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Composer
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-tools-builder /usr/local/src /usr/local/src
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Pip
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-tools-builder /usr/local/lib /usr/local/lib
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy RubyGems
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-work-tools-builder /var/lib/gems /var/lib/gems
|
||||||
|
|
||||||
|
|
||||||
|
# FIXME: / TODO: Add post: stage into here as well
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 6/7: Devilbox work image (TOOLS TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-work-tools as devilbox-work-tools-test
|
||||||
|
|
||||||
|
{% for tool in tools_enabled -%}
|
||||||
|
{%- if fn.is_not_disabled(php_version, tool, tools_available) -%}
|
||||||
|
{{- "\n" }}# -------------------- ({{ fn.get_type(php_version, tool, tools_available) }}) {{ tool }} --------------------
|
||||||
|
{{- "\n" }}RUN set -eux \
|
||||||
|
{%- if 'check' in tools_available[tool] -%}
|
||||||
|
{{ "\n\t" }}&& {{ tools_available[tool]['check'] | indent( "\t" ) }}{{ "\t\\" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{{ "\n\t" }}&& true{{ "\n" }}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^{{ php_version }}' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 7/7: Devilbox sliwork image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: work)
|
||||||
|
###
|
||||||
|
FROM devilbox-work-tools as work
|
||||||
|
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"="{{ php_version }}-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
16
.ansible/ansible.cfg
Normal file
16
.ansible/ansible.cfg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[defaults]
|
||||||
|
roles_path = ./roles
|
||||||
|
inventory = inventory.ini
|
||||||
|
strategy_plugins = /usr/lib/python3.10/site-packages/ansible_mitogen/plugins/strategy
|
||||||
|
strategy = mitogen_linear
|
||||||
|
|
||||||
|
# Show timing information
|
||||||
|
callbacks_enabled = timer, profile_tasks, profile_roles
|
||||||
|
|
||||||
|
# Speed improvements
|
||||||
|
host_key_checking = False
|
||||||
|
internal_poll_interval = 0.001
|
||||||
|
|
||||||
|
[ssh_connection]
|
||||||
|
pipelining = True
|
||||||
|
ssh_args = -o ControlMaster=auto -o ControlPersist=60s
|
||||||
@@ -3,10 +3,11 @@
|
|||||||
# Ansible specific definitions
|
# Ansible specific definitions
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
|
||||||
edit_comment_base: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead."
|
edit_comment_base: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead."
|
||||||
edit_comment_mods: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead."
|
edit_comment_mods: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead."
|
||||||
edit_comment_prod: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead."
|
edit_comment_prod: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead."
|
||||||
edit_comment_work: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead."
|
edit_comment_slim: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead."
|
||||||
|
edit_comment_work: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-work.j2 instead."
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
@@ -33,45 +34,51 @@ php_all_versions:
|
|||||||
- 7.3
|
- 7.3
|
||||||
- 7.4
|
- 7.4
|
||||||
- 8.0
|
- 8.0
|
||||||
|
- 8.1
|
||||||
|
- 8.2
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Docker file paths for each version for base, mods, prod & work
|
# Docker file paths for each version for base, mods, prod, slim & work
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
template_dockerfiles:
|
template_dockerfiles:
|
||||||
- src: DOCKERFILES/Dockerfile-base.j2
|
- src: DOCKERFILES/Dockerfile-base.j2
|
||||||
dst: "../../Dockerfiles/base/Dockerfile-{{ php_version }}"
|
dst: "../Dockerfiles/base/Dockerfile-{{ php_version }}"
|
||||||
- src: DOCKERFILES/Dockerfile-mods.j2
|
- src: DOCKERFILES/Dockerfile-mods.j2
|
||||||
dst: "../../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
dst: "../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
||||||
- src: DOCKERFILES/Dockerfile-prod.j2
|
- src: DOCKERFILES/Dockerfile-prod.j2
|
||||||
dst: "../../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
dst: "../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
||||||
|
- src: DOCKERFILES/Dockerfile-slim.j2
|
||||||
|
dst: "../Dockerfiles/slim/Dockerfile-{{ php_version }}"
|
||||||
- src: DOCKERFILES/Dockerfile-work.j2
|
- src: DOCKERFILES/Dockerfile-work.j2
|
||||||
dst: "../../Dockerfiles/work/Dockerfile-{{ php_version }}"
|
dst: "../Dockerfiles/work/Dockerfile-{{ php_version }}"
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Assign php.ini & php-fpm.conf to PHP versions
|
# Assign php.ini & php-fpm.conf to PHP versions
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
template_configurations:
|
template_configurations:
|
||||||
|
|
||||||
# php.ini
|
# php.ini
|
||||||
- src: CONFIGURATIONS/php.ini.j2
|
- src: CONFIGURATIONS/php.ini.j2
|
||||||
dst: "../../Dockerfiles/base/data/php-ini.d/php-{{ php_version }}.ini"
|
dst: "../Dockerfiles/base/data/php-ini.d/php-{{ php_version }}.ini"
|
||||||
cfg: "{{ php_settings_ini }}"
|
cfg: "{{ php_settings_ini }}"
|
||||||
key: base
|
key: base
|
||||||
alt: base
|
alt: base
|
||||||
- src: CONFIGURATIONS/php.ini.j2
|
- src: CONFIGURATIONS/php.ini.j2
|
||||||
dst: "../../Dockerfiles/work/data/php-ini.d/php-{{ php_version }}.ini"
|
dst: "../Dockerfiles/slim/data/php-ini.d/php-{{ php_version }}.ini"
|
||||||
cfg: "{{ php_settings_ini }}"
|
cfg: "{{ php_settings_ini }}"
|
||||||
key: work
|
key: slim
|
||||||
alt: base # Alternative key to use when definition is not set in 'work'
|
alt: base # Alternative key to use when definition is not set in 'slim'
|
||||||
|
|
||||||
# php-fpm.conf
|
# php-fpm.conf
|
||||||
- src: CONFIGURATIONS/php-fpm.conf.j2
|
- src: CONFIGURATIONS/php-fpm.conf.j2
|
||||||
dst: "../../Dockerfiles/base/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
dst: "../Dockerfiles/base/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
||||||
cfg: "{{ php_settings_fpm }}"
|
cfg: "{{ php_settings_fpm }}"
|
||||||
key: base
|
key: base
|
||||||
alt: base
|
alt: base
|
||||||
- src: CONFIGURATIONS/php-fpm.conf.j2
|
- src: CONFIGURATIONS/php-fpm.conf.j2
|
||||||
dst: "../../Dockerfiles/work/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
dst: "../Dockerfiles/slim/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
||||||
cfg: "{{ php_settings_fpm }}"
|
cfg: "{{ php_settings_fpm }}"
|
||||||
key: work
|
key: slim
|
||||||
alt: base
|
alt: base # Alternative key to use when definition is not set in 'slim'
|
||||||
@@ -17,55 +17,64 @@ php_settings_ini:
|
|||||||
# ---- Sane default ----
|
# ---- Sane default ----
|
||||||
base:
|
base:
|
||||||
# Memory
|
# Memory
|
||||||
memory_limit: 512M
|
memory_limit: 512M
|
||||||
# Timeouts
|
# Timeouts
|
||||||
max_execution_time: "{{ php_timeout }}"
|
max_execution_time: "{{ php_timeout }}"
|
||||||
max_input_time: "{{ php_timeout }}"
|
max_input_time: "{{ php_timeout }}"
|
||||||
# Uploads
|
# Uploads
|
||||||
# Note: "post_max_size" should be greater than "upload_max_filesize"
|
# Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size: 72M
|
post_max_size: 72M
|
||||||
upload_max_filesize: 64M
|
upload_max_filesize: 64M
|
||||||
max_file_uploads: 20
|
max_file_uploads: 20
|
||||||
# Variables
|
# Variables
|
||||||
variables_order: EGPCS
|
variables_order: EGPCS
|
||||||
max_input_vars: 8000
|
max_input_vars: 8000
|
||||||
max_input_nesting_level: 64
|
max_input_nesting_level: 64
|
||||||
# Error reporting
|
# Error reporting
|
||||||
error_reporting: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors: 'Off'
|
xmlrpc_errors: 'Off'
|
||||||
report_memleaks: 'On'
|
report_memleaks: 'On'
|
||||||
display_errors: 'Off'
|
display_errors: 'Off'
|
||||||
display_startup_errors: 'Off'
|
display_startup_errors: 'Off'
|
||||||
track_errors: 'On'
|
track_errors: 'On'
|
||||||
log_errors: 'On'
|
log_errors: 'On'
|
||||||
html_errors: 'Off'
|
html_errors: 'Off'
|
||||||
# Xdebug settings
|
# 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:
|
||||||
# ---- Inherits from base ----
|
# ---- Inherits from base ----
|
||||||
prod:
|
prod:
|
||||||
# ---- Inherits from base and overwrites certain values ----
|
# ---- Inherits from base and overwrites certain values ----
|
||||||
work:
|
slim:
|
||||||
# Error reporting
|
# Error reporting
|
||||||
error_reporting: E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
error_reporting: E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
xmlrpc_errors: 'Off'
|
xmlrpc_errors: 'Off'
|
||||||
report_memleaks: 'On'
|
report_memleaks: 'On'
|
||||||
display_errors: 'On'
|
display_errors: 'On'
|
||||||
display_startup_errors: 'On'
|
display_startup_errors: 'On'
|
||||||
track_errors: 'On'
|
track_errors: 'On'
|
||||||
log_errors: 'On'
|
log_errors: 'On'
|
||||||
html_errors: 'On'
|
html_errors: 'On'
|
||||||
# Xdebug settings
|
# 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 slim ----
|
||||||
|
work:
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# php-fpm.conf
|
# php-fpm.conf
|
||||||
@@ -102,5 +111,7 @@ php_settings_fpm:
|
|||||||
mods:
|
mods:
|
||||||
# ---- Inherits from base ----
|
# ---- Inherits from base ----
|
||||||
prod:
|
prod:
|
||||||
# ---- Inherits from base and overwrites certain values ----
|
# ---- Inherits from base ----
|
||||||
|
slim:
|
||||||
|
# ---- Inherits from base ----
|
||||||
work:
|
work:
|
||||||
1601
.ansible/group_vars/all/mods.yml
Normal file
1601
.ansible/group_vars/all/mods.yml
Normal file
File diff suppressed because it is too large
Load Diff
573
.ansible/group_vars/all/slim.yml
Normal file
573
.ansible/group_vars/all/slim.yml
Normal file
@@ -0,0 +1,573 @@
|
|||||||
|
---
|
||||||
|
###################################################################################################
|
||||||
|
# Docker: slim
|
||||||
|
###################################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# This file holds definition for all devibox/php-fpm:x.y-slim images
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Define operating system versions
|
||||||
|
###
|
||||||
|
os_release:
|
||||||
|
# Bullseye (Ubuntu: focal, groovy, hirsute, impish)
|
||||||
|
all:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
8.2:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
8.1:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
8.0:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
7.4:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
7.3:
|
||||||
|
debian: bullseye
|
||||||
|
ubuntu: focal
|
||||||
|
# Buster (Ubuntu: bionic, cosmic, disco, eoan)
|
||||||
|
7.2:
|
||||||
|
debian: buster
|
||||||
|
ubuntu: bionic
|
||||||
|
7.1:
|
||||||
|
debian: buster
|
||||||
|
ubuntu: bionic
|
||||||
|
# Strech (Ubuntu: xenial, yakkety, zesty, artful)
|
||||||
|
7.0:
|
||||||
|
debian: stretch
|
||||||
|
ubuntu: xenial
|
||||||
|
5.6:
|
||||||
|
debian: stretch
|
||||||
|
ubuntu: xenial
|
||||||
|
# Jessie (Ubuntu: trusty, utopic, vivid, wily)
|
||||||
|
5.5:
|
||||||
|
debian: jessie
|
||||||
|
ubuntu: trusty
|
||||||
|
5.4:
|
||||||
|
debian: jessie
|
||||||
|
ubuntu: trusty
|
||||||
|
5.3:
|
||||||
|
debian: jessie
|
||||||
|
ubuntu: trusty
|
||||||
|
5.2:
|
||||||
|
debian: jessie
|
||||||
|
ubuntu: trusty
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Apt repositories to enable (in defined order)
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
base_apt_repositories_enabled:
|
||||||
|
- backports
|
||||||
|
- blackfire
|
||||||
|
# - mongo # Note: This is done separately in tools (to check ARCH as well)
|
||||||
|
# - pgsql # Note: This is done separately in tools (to check ARCH as well)
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Software to install (in defined order)
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
base_software_enabled:
|
||||||
|
- dig # required by Devilbox Intranet
|
||||||
|
- netcat # required by Devilbox Intranet
|
||||||
|
- ping # required by Devilbox Intranet
|
||||||
|
- sudo # required by /etc/sudoers.d/devilbox config file
|
||||||
|
- blackfire
|
||||||
|
- mhsendmail
|
||||||
|
- mongo_client
|
||||||
|
- mysqldumpsecure
|
||||||
|
- pgsql_client
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Apt repository definition
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# all: is generic version of defines
|
||||||
|
# 7.2: is specific version of defines
|
||||||
|
# disabled: [optional] Array of PHP versions for which to disable this module
|
||||||
|
#
|
||||||
|
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
|
||||||
|
# deb: Deb line to add to sources list
|
||||||
|
# key: [optional] Key id to add for repository
|
||||||
|
# pre: [optional] Run custom command to add gpg key for repository
|
||||||
|
#
|
||||||
|
base_apt_repositories_available:
|
||||||
|
|
||||||
|
###
|
||||||
|
### Backports
|
||||||
|
###
|
||||||
|
backports:
|
||||||
|
# [Bullseye]
|
||||||
|
all:
|
||||||
|
type: repo
|
||||||
|
pre: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
||||||
|
deb: deb http://ftp.debian.org/debian {{ os_release['all'].debian }}-backports main
|
||||||
|
# [Buster]
|
||||||
|
7.2:
|
||||||
|
type: repo
|
||||||
|
pre: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
||||||
|
deb: deb http://ftp.debian.org/debian {{ os_release[7.2].debian }}-backports main
|
||||||
|
# [Buster]
|
||||||
|
7.1:
|
||||||
|
type: repo
|
||||||
|
pre: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
||||||
|
deb: deb http://ftp.debian.org/debian {{ os_release[7.1].debian }}-backports main
|
||||||
|
# [Stretch]
|
||||||
|
7.0:
|
||||||
|
type: repo
|
||||||
|
pre: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
||||||
|
deb: deb http://ftp.debian.org/debian {{ os_release[7.0].debian }}-backports main
|
||||||
|
# [Stretch]
|
||||||
|
5.6:
|
||||||
|
type: repo
|
||||||
|
pre: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
||||||
|
deb: deb http://ftp.debian.org/debian {{ os_release[5.6].debian }}-backports main
|
||||||
|
# [Jessie]
|
||||||
|
5.5:
|
||||||
|
type: repo
|
||||||
|
pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
|
||||||
|
deb: deb [trusted=yes] http://archive.debian.org/debian {{ os_release[5.5].debian }}-backports main
|
||||||
|
# [Jessie]
|
||||||
|
5.4:
|
||||||
|
type: repo
|
||||||
|
pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
|
||||||
|
deb: deb [trusted=yes] http://archive.debian.org/debian {{ os_release[5.4].debian }}-backports main
|
||||||
|
# [Jessie]
|
||||||
|
5.3:
|
||||||
|
type: repo
|
||||||
|
pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
|
||||||
|
deb: deb [trusted=yes] http://archive.debian.org/debian {{ os_release[5.3].debian }}-backports main
|
||||||
|
# [Jessie]
|
||||||
|
5.2:
|
||||||
|
type: repo
|
||||||
|
pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
|
||||||
|
deb: deb [trusted=yes] http://archive.debian.org/debian {{ os_release[5.2].debian }}-backports main
|
||||||
|
|
||||||
|
###
|
||||||
|
### Blackfire
|
||||||
|
###
|
||||||
|
blackfire:
|
||||||
|
all:
|
||||||
|
type: repo
|
||||||
|
deb: deb http://packages.blackfire.io/debian any main
|
||||||
|
pre: curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
|
||||||
|
|
||||||
|
###
|
||||||
|
### MongoDB (currently obsolete)
|
||||||
|
###
|
||||||
|
mongo:
|
||||||
|
# 8.2: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 8.1: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 8.0: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.4: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.3: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.2: mongo-tools OR mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.1: mongo-tools OR mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.0: mongodb-clients & mongo-tools (amd64, arm64)
|
||||||
|
# 5.6: mongodb-clients & mongo-tools (amd64, arm64)
|
||||||
|
# 5.5: mongodb-clients (amd64)
|
||||||
|
# 5.4: mongodb-clients (amd64)
|
||||||
|
# 5.3: mongodb-clients (amd64)
|
||||||
|
# 5.2: mongodb-clients (amd64)
|
||||||
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0] # TODO: Why were those disabled?
|
||||||
|
# [Bullseye] Ubuntu repository required for arm64 support instead
|
||||||
|
all:
|
||||||
|
type: repo
|
||||||
|
# gpg --dry-run --with-fingerprint < <(curl https://www.mongodb.org/static/pgp/server-4.4.asc) | grep fingerprint | sed 's/.*=//g' | sed 's/ //g'
|
||||||
|
deb: deb http://repo.mongodb.org/apt/ubuntu {{ os_release['all'].ubuntu }}/mongodb-org/4.4 multiverse
|
||||||
|
key: 20691EEC35216C63CAF66CE1656408E390CFB1F5
|
||||||
|
# [Buster] Ubuntu repository required for arm64 support instead
|
||||||
|
7.2:
|
||||||
|
type: repo
|
||||||
|
# gpg --dry-run --with-fingerprint < <(curl https://www.mongodb.org/static/pgp/server-4.4.asc) | grep fingerprint | sed 's/.*=//g' | sed 's/ //g'
|
||||||
|
deb: deb http://repo.mongodb.org/apt/ubuntu {{ os_release[7.2].ubuntu }}/mongodb-org/4.4 multiverse
|
||||||
|
key: 20691EEC35216C63CAF66CE1656408E390CFB1F5
|
||||||
|
# [Buster] Ubuntu repository required for arm64 support instead
|
||||||
|
7.1:
|
||||||
|
type: repo
|
||||||
|
# gpg --dry-run --with-fingerprint < <(curl https://www.mongodb.org/static/pgp/server-4.4.asc) | grep fingerprint | sed 's/.*=//g' | sed 's/ //g'
|
||||||
|
deb: deb http://repo.mongodb.org/apt/ubuntu {{ os_release[7.1].ubuntu }}/mongodb-org/4.4 multiverse
|
||||||
|
key: 20691EEC35216C63CAF66CE1656408E390CFB1F5
|
||||||
|
|
||||||
|
###
|
||||||
|
### PostgrSQL (currently obsolete)
|
||||||
|
###
|
||||||
|
pgsql:
|
||||||
|
# [Bullseye]
|
||||||
|
all:
|
||||||
|
type: repo
|
||||||
|
deb: deb http://apt.postgresql.org/pub/repos/apt/ {{ os_release['all'].debian }}-pgdg main
|
||||||
|
pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
|
||||||
|
# [Buster]
|
||||||
|
7.2:
|
||||||
|
type: repo
|
||||||
|
deb: deb http://apt.postgresql.org/pub/repos/apt/ {{ os_release[7.2].debian }}-pgdg main
|
||||||
|
pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
|
||||||
|
# [Buster]
|
||||||
|
7.1:
|
||||||
|
type: repo
|
||||||
|
deb: deb http://apt.postgresql.org/pub/repos/apt/ {{ os_release[7.1].debian }}-pgdg main
|
||||||
|
pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
|
||||||
|
# [Stretch]
|
||||||
|
7.0:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[7.0].debian }}-pgdg main
|
||||||
|
# [Stretch]
|
||||||
|
5.6:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[5.6].debian }}-pgdg main
|
||||||
|
# [Jessie]
|
||||||
|
5.5:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[5.5].debian }}-pgdg main
|
||||||
|
# [Jessie]
|
||||||
|
5.4:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[5.4].debian }}-pgdg main
|
||||||
|
# [Jessie]
|
||||||
|
5.3:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[5.3].debian }}-pgdg main
|
||||||
|
# [Jessie]
|
||||||
|
5.2:
|
||||||
|
type: repo
|
||||||
|
deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ {{ os_release[5.2].debian }}-pgdg main
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Essential Software definition
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# all: is generic version of defines
|
||||||
|
# 7.2: is specific version of defines
|
||||||
|
# disabled: [optional] Array of PHP versions for which to disable this module
|
||||||
|
# check: [optional] Include a check command to test if it was installed successfully
|
||||||
|
#
|
||||||
|
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
|
||||||
|
# pre: [optional] Run command before 'command:' statement
|
||||||
|
# command: Command to execute
|
||||||
|
# post: [optional] Run command after 'command:' statement
|
||||||
|
#
|
||||||
|
base_software_available:
|
||||||
|
|
||||||
|
###
|
||||||
|
### dig
|
||||||
|
###
|
||||||
|
dig:
|
||||||
|
check: dig -v 2>&1 | grep -E '[0-9]\.[0-9]'
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: dnsutils
|
||||||
|
|
||||||
|
###
|
||||||
|
### netcat
|
||||||
|
###
|
||||||
|
netcat:
|
||||||
|
check: nc -h 2>&1 | grep netcat
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: netcat-openbsd
|
||||||
|
|
||||||
|
###
|
||||||
|
### ping
|
||||||
|
###
|
||||||
|
ping:
|
||||||
|
check: ping -V | grep ^ping
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: iputils-ping
|
||||||
|
|
||||||
|
###
|
||||||
|
### sudo
|
||||||
|
###
|
||||||
|
sudo:
|
||||||
|
check: sudo --version | grep -E 'version [0-9]+\.[0-9]+'
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: sudo
|
||||||
|
|
||||||
|
###
|
||||||
|
### Blackfire
|
||||||
|
###
|
||||||
|
blackfire:
|
||||||
|
check: |
|
||||||
|
blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
apt-get update \
|
||||||
|
command: |
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
post: rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### mhsendmail
|
||||||
|
###
|
||||||
|
mhsendmail:
|
||||||
|
check: mhsendmail -h 2>&1 | grep 'Usage'
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
|
||||||
|
###
|
||||||
|
### MongoDB Command line client
|
||||||
|
###
|
||||||
|
# 8.2: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 8.1: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 8.0: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.4: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.3: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.2: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.1: mongodb-org-(tools|shell) (amd64, arm64)
|
||||||
|
# 7.0: mongodb-clients & mongo-tools (amd64, arm64)
|
||||||
|
# 5.6: mongodb-clients & mongo-tools (amd64, arm64)
|
||||||
|
# 5.5: mongodb-clients (amd64)
|
||||||
|
# 5.4: mongodb-clients (amd64)
|
||||||
|
# 5.3: mongodb-clients (amd64)
|
||||||
|
# 5.2: mongodb-clients (amd64)
|
||||||
|
mongo_client:
|
||||||
|
check: |
|
||||||
|
if echo '{{ php_version }}' | 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 \
|
||||||
|
\
|
||||||
|
&& if echo '{{ php_version }}' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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 {{ os_release[php_version].ubuntu }}/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
command: |
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
post: rm -rf /var/lib/apt/lists/*
|
||||||
|
build_dep: [libsnappy-dev] # Required to copy libsnappy.so to next stage
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
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 \
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
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 \
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
pre: apt-get update
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
|
||||||
|
###
|
||||||
|
### mysqldump-secure
|
||||||
|
###
|
||||||
|
mysqldumpsecure:
|
||||||
|
check: mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+'
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
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 \
|
||||||
|
|
||||||
|
###
|
||||||
|
### PostgrSQL Command line client
|
||||||
|
###
|
||||||
|
# 8.2: (amd64, arm64)
|
||||||
|
# 8.1: (amd64, arm64)
|
||||||
|
# 8.0: (amd64, arm64)
|
||||||
|
# 7.4: (amd64, arm64)
|
||||||
|
# 7.3: (amd64, arm64)
|
||||||
|
# 7.2: (amd64, arm64)
|
||||||
|
# 7.1: (amd64, arm64)
|
||||||
|
# 7.0: (amd64)
|
||||||
|
# 5.6: (amd64)
|
||||||
|
# 5.5: (amd64)
|
||||||
|
# 5.4: (amd64)
|
||||||
|
# 5.3: (amd64)
|
||||||
|
# 5.2: (amd64)
|
||||||
|
pgsql_client:
|
||||||
|
check: |
|
||||||
|
if echo '{{ php_version }}' | 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 \
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
command: |
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
post: rm -rf /var/lib/apt/lists/*
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
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/ {{ os_release[php_version].debian }}-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
command: |
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
239
.ansible/group_vars/all/work-help.yml
Normal file
239
.ansible/group_vars/all/work-help.yml
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
---
|
||||||
|
###################################################################################################
|
||||||
|
# Docker: work (docker stage: help)
|
||||||
|
###################################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# This file holds definition for all devibox/php-fpm:x.y-work images
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Global variables
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
composer_home: /usr/local/src/composer
|
||||||
|
nvm_home: /opt/nvm
|
||||||
|
node_version: --lts
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Software to install (in defined order)
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
help_software_enabled:
|
||||||
|
- composer
|
||||||
|
- nvm
|
||||||
|
- pip
|
||||||
|
|
||||||
|
|
||||||
|
## -------------------------------------------------------------------------------------------------
|
||||||
|
## Software definition
|
||||||
|
## -------------------------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# all: is generic version of defines
|
||||||
|
# 7.2: is specific version of defines
|
||||||
|
# disabled: [optional] Array of PHP versions for which to disable this module
|
||||||
|
# check: [optional] Include a check command to test if it was installed successfully
|
||||||
|
#
|
||||||
|
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
|
||||||
|
# pre: [optional] Run command before 'command:' statement
|
||||||
|
# command: Command to execute
|
||||||
|
# post: [optional] Run command after 'command:' statement
|
||||||
|
#
|
||||||
|
help_software_available:
|
||||||
|
|
||||||
|
###
|
||||||
|
### Composer
|
||||||
|
###
|
||||||
|
composer:
|
||||||
|
disabled: [5.2]
|
||||||
|
check: composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+'
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
command: |
|
||||||
|
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 \
|
||||||
|
post: |
|
||||||
|
ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
run_dep: [unzip] # Required for composer to unzip packages
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
|
post: |
|
||||||
|
ln -sf /usr/local/bin/composer-1 /usr/local/bin/composer \
|
||||||
|
|
||||||
|
###
|
||||||
|
### nvm
|
||||||
|
###
|
||||||
|
nvm:
|
||||||
|
check: |
|
||||||
|
su -c '. {{ nvm_home }}/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. {{ nvm_home }}/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="{{ node_version }}" \
|
||||||
|
command: |
|
||||||
|
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 {{ nvm_home }} \
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="{{ nvm_home }}" bash \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "{{ nvm_home }}" \
|
||||||
|
# Install latest and LTS version and yarn
|
||||||
|
post: |
|
||||||
|
su -c ". {{ nvm_home }}/nvm.sh; nvm install ${NODE_VERSION}" devilbox \
|
||||||
|
&& su -c ". {{ nvm_home }}/nvm.sh; nvm use ${NODE_VERSION}" devilbox \
|
||||||
|
&& su -c ". {{ nvm_home }}/nvm.sh; corepack enable" devilbox \
|
||||||
|
\
|
||||||
|
&& ln -s "{{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/corepack" /usr/local/bin/ \
|
||||||
|
&& ln -s "{{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/node" /usr/local/bin/ \
|
||||||
|
&& ln -s "{{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/npm" /usr/local/bin/ \
|
||||||
|
&& ln -s "{{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/npx" /usr/local/bin/ \
|
||||||
|
&& ln -s "{{ nvm_home }}/versions/node/$(su -c '. {{ nvm_home }}/nvm.sh; node --version' devilbox)/bin/yarn" /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& chmod 0777 {{ nvm_home }} \
|
||||||
|
&& find {{ nvm_home }} -type f -print0 | xargs -n1 -0 chmod go+w \
|
||||||
|
&& find {{ nvm_home }} -type d -print0 | xargs -n1 -0 chmod 0777 \
|
||||||
|
\
|
||||||
|
&& rm -rf {{ nvm_home }}/.cache \
|
||||||
|
&& rm -rf {{ nvm_home }}/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/share \
|
||||||
|
&& rm -rf {{ nvm_home }}/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/include \
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
pre: |
|
||||||
|
NODE_VERSION="17" \
|
||||||
|
|
||||||
|
###
|
||||||
|
### Python pip
|
||||||
|
###
|
||||||
|
pip:
|
||||||
|
check: pip --version
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
# Cleanup
|
||||||
|
post: |
|
||||||
|
/bin/ls -1 /usr/local/lib/ | grep ^python | while read -r version; do \
|
||||||
|
cd "/usr/local/lib/${version}/" \
|
||||||
|
&& find . -name '*.pyc' -print0 | xargs -0 -n1 rm -rf \
|
||||||
|
&& find . -name '*.exe' -print0 | xargs -0 -n1 rm -rf \
|
||||||
|
&& find . -name '__pycache__' -print0 | xargs -0 -n1 rm -rf \
|
||||||
|
\
|
||||||
|
&& if [ -d "dist-packages" ]; then \
|
||||||
|
cd "dist-packages" \
|
||||||
|
&& pwd \
|
||||||
|
&& if /bin/ls -1 | grep -v '^pip'; then \
|
||||||
|
/bin/ls -1 | grep -v '^pip' | xargs -n1 rm -rf; \
|
||||||
|
fi \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
run_dep: [python3-distutils]
|
||||||
|
build_dep: [libpython3-dev]
|
||||||
|
7.2:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
run_dep: []
|
||||||
|
build_dep: [libpython-dev]
|
||||||
717
.ansible/group_vars/all/work.yml
Normal file
717
.ansible/group_vars/all/work.yml
Normal file
@@ -0,0 +1,717 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# DO NOT ALTER THIS FILE - IT IS AUTOGENERATED.
|
||||||
|
|
||||||
|
# The following specifies the order in which tools are being installed.
|
||||||
|
tools_enabled:
|
||||||
|
- angular-cli
|
||||||
|
- asgardcms
|
||||||
|
- eslint
|
||||||
|
- git
|
||||||
|
- jsonlint
|
||||||
|
- mdl
|
||||||
|
- awesome-ci
|
||||||
|
- codeception
|
||||||
|
- deployer
|
||||||
|
- git-flow
|
||||||
|
- grunt-cli
|
||||||
|
- gulp
|
||||||
|
- jq
|
||||||
|
- laravel-installer
|
||||||
|
- laravel-lumen
|
||||||
|
- linkcheck
|
||||||
|
- mdlint
|
||||||
|
- mupdf-tools
|
||||||
|
- phalcon-devtools
|
||||||
|
- php-cs-fixer
|
||||||
|
- phpcbf
|
||||||
|
- phpcs
|
||||||
|
- phpmd
|
||||||
|
- phpunit
|
||||||
|
- pm2
|
||||||
|
- pwncat
|
||||||
|
- ssh
|
||||||
|
- rsync
|
||||||
|
- sass
|
||||||
|
- shellcheck
|
||||||
|
- stylelint
|
||||||
|
- svn
|
||||||
|
- symfony-cli
|
||||||
|
- taskfile
|
||||||
|
- tig
|
||||||
|
- vim
|
||||||
|
- vue-cli
|
||||||
|
- webpack-cli
|
||||||
|
- wkhtmltopdf
|
||||||
|
- wp-cli
|
||||||
|
- yamllint
|
||||||
|
- yq
|
||||||
|
- zsh
|
||||||
|
|
||||||
|
|
||||||
|
# The following specifies how tools are being installed.
|
||||||
|
tools_available:
|
||||||
|
angular-cli:
|
||||||
|
disabled: []
|
||||||
|
check: ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' || (ng version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: "@angular/cli"
|
||||||
|
binary: ng
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
asgardcms:
|
||||||
|
disabled: [5.2, 5.3, 5.4]
|
||||||
|
check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' || (asgardcms --version; false)
|
||||||
|
all:
|
||||||
|
type: composer
|
||||||
|
composer: 2
|
||||||
|
package: asgardcms/asgardcms-installer
|
||||||
|
# https://github.com/AsgardCms/asgardcms-installer/issues/1
|
||||||
|
version: dev-master
|
||||||
|
flags:
|
||||||
|
binary: asgardcms
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
eslint:
|
||||||
|
disabled: []
|
||||||
|
check: eslint -v | grep -E '[0-9][.0-9]+' || (eslint -v; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: "eslint"
|
||||||
|
binary: eslint
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
git:
|
||||||
|
disabled: []
|
||||||
|
check: git --version 2>&1 | grep -E '[0-9][.0-9]+' || (git --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: git
|
||||||
|
jsonlint:
|
||||||
|
disabled: []
|
||||||
|
check: jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: jsonlint
|
||||||
|
binary: jsonlint
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
mdl:
|
||||||
|
disabled: []
|
||||||
|
check: mdl --version | grep -E '[.0-9]+' || (mdl --version; false)
|
||||||
|
all:
|
||||||
|
type: rubygem
|
||||||
|
package: mdl
|
||||||
|
# version:
|
||||||
|
build_dep: [ruby-dev]
|
||||||
|
run_dep: [ruby]
|
||||||
|
# pre:
|
||||||
|
# post:
|
||||||
|
7.2:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.11.0
|
||||||
|
pre: |
|
||||||
|
gem install chef-utils -v 16.6.14 \
|
||||||
|
7.1:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.11.0
|
||||||
|
pre: |
|
||||||
|
gem install chef-utils -v 16.6.14 \
|
||||||
|
7.0:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
5.6:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
5.5:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
5.4:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
5.3:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
5.2:
|
||||||
|
type: rubygem
|
||||||
|
version: 0.5.0
|
||||||
|
pre: |
|
||||||
|
gem install mixlib-config -v 2.2.4 \
|
||||||
|
awesome-ci:
|
||||||
|
disabled: []
|
||||||
|
check: regex-grep --version | grep -E '[0-9][.0-9]+' || (regex-grep --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
git clone https://github.com/cytopia/awesome-ci.git /tmp/awesome-ci \
|
||||||
|
&& cd /tmp/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /tmp/awesome-ci \
|
||||||
|
# moreutils: isutf8
|
||||||
|
run_dep: [dos2unix, file, moreutils]
|
||||||
|
codeception:
|
||||||
|
disabled: [5.2, 5.3]
|
||||||
|
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' || (codecept --version; false)
|
||||||
|
all:
|
||||||
|
type: composer
|
||||||
|
composer: 2
|
||||||
|
package: codeception/codeception
|
||||||
|
# version:
|
||||||
|
flags:
|
||||||
|
binary: codecept
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
# pre:
|
||||||
|
# post:
|
||||||
|
deployer:
|
||||||
|
disabled: [5.2, 5.3]
|
||||||
|
check: dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' || (dep --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
post: chmod +x /usr/local/bin/dep
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep
|
||||||
|
git-flow:
|
||||||
|
disabled: []
|
||||||
|
check: git-flow version 2>&1 | grep -E '[0-9][.0-9]+' || (git-flow version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
grunt-cli:
|
||||||
|
disabled: []
|
||||||
|
check: grunt --version | grep -E '[0-9][.0-9]+' || (grunt --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: "grunt-cli"
|
||||||
|
binary: grunt
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
gulp:
|
||||||
|
disabled: []
|
||||||
|
check: gulp --version | grep -E '[0-9][.0-9]+' || (gulp --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: gulp
|
||||||
|
binary: gulp
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
jq:
|
||||||
|
disabled: []
|
||||||
|
check: jq --version 2>&1 | grep -E '[0-9][.0-9]+' || (jq --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: jq
|
||||||
|
laravel-installer:
|
||||||
|
disabled: [5.2, 5.3]
|
||||||
|
check: laravel --version | grep ^Laravel | grep -E '[0-9]\.[0-9]+' || (laravel --version; false)
|
||||||
|
all:
|
||||||
|
type: composer
|
||||||
|
composer: 2
|
||||||
|
package: laravel/installer
|
||||||
|
# version:
|
||||||
|
flags:
|
||||||
|
binary: bin/laravel
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
7.2:
|
||||||
|
type: composer
|
||||||
|
version: 4.0.0
|
||||||
|
7.1:
|
||||||
|
type: composer
|
||||||
|
binary: laravel
|
||||||
|
version: 2.3.0
|
||||||
|
7.0:
|
||||||
|
type: composer
|
||||||
|
binary: laravel
|
||||||
|
version: 2.2.0
|
||||||
|
5.6:
|
||||||
|
type: composer
|
||||||
|
binary: laravel
|
||||||
|
version: 2.2.0
|
||||||
|
5.5:
|
||||||
|
type: composer
|
||||||
|
binary: laravel
|
||||||
|
version: 2.2.0
|
||||||
|
5.4:
|
||||||
|
type: composer
|
||||||
|
binary: laravel
|
||||||
|
version: 1.3.7
|
||||||
|
laravel-lumen:
|
||||||
|
disabled: [5.2, 5.3, 5.4]
|
||||||
|
check: lumen --version 2>/dev/null | grep ^Lumen | grep -E '[0-9]\.[0-9]+' || (lumen --version; false)
|
||||||
|
all:
|
||||||
|
type: composer
|
||||||
|
composer: 2
|
||||||
|
package: laravel/lumen-installer
|
||||||
|
# version:
|
||||||
|
flags:
|
||||||
|
binary: lumen
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
# pre:
|
||||||
|
# post:
|
||||||
|
linkcheck:
|
||||||
|
disabled: []
|
||||||
|
check: linkcheck --version | grep -E 'v[0-9][.0-9]+' || (linkcheck --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -L --fail -o /usr/local/bin/linkcheck https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck
|
||||||
|
post: chmod +x /usr/local/bin/linkcheck
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
mdlint:
|
||||||
|
disabled: []
|
||||||
|
check: mdlint --version | grep -E '[0-9][.0-9]+' || (mdlint --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: mdlint
|
||||||
|
binary: mdlint
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
mupdf-tools:
|
||||||
|
disabled: []
|
||||||
|
check: |
|
||||||
|
PHP_VERSION="$(php -v | grep ^PHP | awk '{print $2}' | grep -Eo '[0-9]\.[0-9]')" \
|
||||||
|
&& if echo "${PHP_VERSION}" | grep -E '5\.2|5\.3|5\.4|5\.5'; then \
|
||||||
|
mutool 2>&1 | grep ^usage; \
|
||||||
|
else \
|
||||||
|
echo test > test.txt \
|
||||||
|
&& mutool create -o test.pdf test.txt \
|
||||||
|
&& file test.pdf | grep 'PDF document' \
|
||||||
|
&& rm test.txt \
|
||||||
|
&& rm test.pdf; \
|
||||||
|
fi \
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: mupdf-tools
|
||||||
|
phalcon-devtools:
|
||||||
|
disabled: [5.2, 5.3, 5.4, 8.2]
|
||||||
|
check: |
|
||||||
|
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 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& phalcon commands | grep -E '[0-9][.0-9]+' || (phalcon commands; false) \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini ]; then \
|
||||||
|
rm /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini ]; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi \
|
||||||
|
all:
|
||||||
|
type: composer
|
||||||
|
composer: 2
|
||||||
|
package: phalcon/devtools
|
||||||
|
binary: phalcon
|
||||||
|
# Enable phalcon.so (and its requirement psr prior installing)
|
||||||
|
pre: |
|
||||||
|
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 \
|
||||||
|
# Disable phalcon.so (and its requirement psr after installing)
|
||||||
|
post: |
|
||||||
|
if [ -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini ]; then \
|
||||||
|
rm /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini ]; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi \
|
||||||
|
7.1:
|
||||||
|
type: composer
|
||||||
|
version: 3.4.11
|
||||||
|
7.0:
|
||||||
|
type: composer
|
||||||
|
version: 3.4.11
|
||||||
|
5.6:
|
||||||
|
type: composer
|
||||||
|
version: 3.4.11
|
||||||
|
5.5:
|
||||||
|
type: composer
|
||||||
|
version: 3.4.11
|
||||||
|
php-cs-fixer:
|
||||||
|
disabled: [5.2, 8.2]
|
||||||
|
check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' || (php-cs-fixer --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail -L "${PHP_CS_FIXER_URL}" -o /usr/local/bin/php-cs-fixer
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v3.phar"
|
||||||
|
post: chmod +x /usr/local/bin/php-cs-fixer
|
||||||
|
7.3:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v2.phar"
|
||||||
|
7.2:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v2.phar"
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v2.phar"
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v2.phar"
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://cs.symfony.com/download/php-cs-fixer-v2.phar"
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar"
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar"
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_CS_FIXER_URL="https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar"
|
||||||
|
phpcbf:
|
||||||
|
disabled: []
|
||||||
|
check: phpcbf --version | grep -E 'version [0-9][.0-9]+' || (phpcbf --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail -L "${PHPCBF_URL}" -o /usr/local/bin/phpcbf
|
||||||
|
pre: PHPCBF_URL="https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar"
|
||||||
|
post: chmod +x /usr/local/bin/phpcbf
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: PHPCBF_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar"
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
pre: PHPCBF_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar"
|
||||||
|
phpcs:
|
||||||
|
disabled: []
|
||||||
|
check: phpcs --version | grep -E 'version [0-9][.0-9]+' || (phpcs --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail -L "${PHPCS_URL}" -o /usr/local/bin/phpcs
|
||||||
|
pre: PHPCS_URL="https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar"
|
||||||
|
post: chmod +x /usr/local/bin/phpcs
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: PHPCS_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar"
|
||||||
|
5.2:
|
||||||
|
type: custom
|
||||||
|
pre: PHPCS_URL="https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar"
|
||||||
|
phpmd:
|
||||||
|
disabled: [5.2]
|
||||||
|
check: phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' || (phpmd --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar -L -o /usr/local/bin/phpmd
|
||||||
|
post: chmod +x /usr/local/bin/phpmd
|
||||||
|
phpunit:
|
||||||
|
disabled: [5.2]
|
||||||
|
check: phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' || (phpunit --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: |
|
||||||
|
if [ -n "${PHP_UNIT_VERSION}" ]; then \
|
||||||
|
PHP_UNIT_URL="https://phar.phpunit.de/phpunit-${PHP_UNIT_VERSION}.phar"; \
|
||||||
|
else \
|
||||||
|
PHP_UNIT_URL="https://phar.phpunit.de/phpunit.phar"; \
|
||||||
|
fi \
|
||||||
|
&& curl -sS -L --fail "${PHP_UNIT_URL}" -L -o /usr/local/bin/phpunit \
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre: PHP_UNIT_VERSION=""
|
||||||
|
post: chmod +x /usr/local/bin/phpunit
|
||||||
|
7.2:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="8"
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="7"
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="6"
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="5"
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="4"
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="4"
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: PHP_UNIT_VERSION="4"
|
||||||
|
pm2:
|
||||||
|
disabled: []
|
||||||
|
check: pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' || (pm2 --no-daemon --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: pm2
|
||||||
|
binary: pm2
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
pwncat:
|
||||||
|
disabled: []
|
||||||
|
check: pwncat --version 2>&1 | grep -E 'Version [0-9][.0-9]+' || (pwncat --version; false)
|
||||||
|
all:
|
||||||
|
type: pip
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post: |
|
||||||
|
ln -s pwncat /usr/local/bin/netcat \
|
||||||
|
ssh:
|
||||||
|
disabled: []
|
||||||
|
check: ssh -V 2>&1 | grep ^OpenSSH || (ssh -V; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: openssh-client
|
||||||
|
rsync:
|
||||||
|
disabled: []
|
||||||
|
check: rsync --version | grep version | grep -E '[0-9]\.[0-9]+' || (rsync --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: rsync
|
||||||
|
sass:
|
||||||
|
disabled: []
|
||||||
|
check: sass --version | grep -E '[0-9][.0-9]+' || (sass --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: sass
|
||||||
|
binary: sass
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
shellcheck:
|
||||||
|
disabled: []
|
||||||
|
check: shellcheck --version | grep -E '[0-9][.0-9]+' || (shellcheck --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: shellcheck
|
||||||
|
stylelint:
|
||||||
|
disabled: []
|
||||||
|
check: stylelint --version | grep -E '[0-9][.0-9]+' || (stylelint --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: stylelint
|
||||||
|
binary: stylelint
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
svn:
|
||||||
|
disabled: []
|
||||||
|
check: svn --version | grep version | grep -E '[0-9]+\.[0-9]+' || (svn --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: subversion
|
||||||
|
symfony-cli:
|
||||||
|
disabled: []
|
||||||
|
check: symfony --no-ansi -V | grep -E 'version [0-9][.0-9]+' || (symfony --no-ansi -V; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS https://get.symfony.com/cli/installer | bash -s -- --install-dir /usr/local/bin
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
taskfile:
|
||||||
|
disabled: []
|
||||||
|
check: task --version | grep -E '[0-9][.0-9]+' || (task --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: sh -c "$(curl -sS -K --fail -k https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin/
|
||||||
|
tig:
|
||||||
|
disabled: []
|
||||||
|
check: tig --version 2>&1 | grep -E '[0-9][.0-9]+' || (tig --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: tig
|
||||||
|
vim:
|
||||||
|
disabled: []
|
||||||
|
check: vim --version | grep ^VIM | grep -E '[0-9]\.[0-9]+' || (vim --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: vim
|
||||||
|
vue-cli:
|
||||||
|
disabled: []
|
||||||
|
check: vue --version | grep -E '[0-9][.0-9]+' || (vue --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: "@vue/cli"
|
||||||
|
binary: vue
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
webpack-cli:
|
||||||
|
disabled: []
|
||||||
|
check: webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false)
|
||||||
|
all:
|
||||||
|
type: npm
|
||||||
|
package: webpack-cli
|
||||||
|
binary: webpack-cli
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
wkhtmltopdf:
|
||||||
|
disabled: [5.2, 5.3, 5.4, 5.5]
|
||||||
|
check: wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
pre: OS_RELEASE="bullseye"
|
||||||
|
command: |
|
||||||
|
DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& WK_URL="$( \
|
||||||
|
curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \
|
||||||
|
| awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \
|
||||||
|
| head -1 \
|
||||||
|
)" \
|
||||||
|
&& echo "URL: ${WK_URL}" \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
|
run_dep:
|
||||||
|
- fontconfig
|
||||||
|
- libfontenc1
|
||||||
|
- libxfont2
|
||||||
|
- libxrender1
|
||||||
|
- xfonts-75dpi
|
||||||
|
- xfonts-base
|
||||||
|
- xfonts-encodings
|
||||||
|
- xfonts-utils
|
||||||
|
7.2:
|
||||||
|
type: custom
|
||||||
|
pre: OS_RELEASE="buster"
|
||||||
|
7.1:
|
||||||
|
type: custom
|
||||||
|
pre: OS_RELEASE="buster"
|
||||||
|
7.0:
|
||||||
|
type: custom
|
||||||
|
pre: OS_RELEASE="stretch"
|
||||||
|
run_dep:
|
||||||
|
- fontconfig
|
||||||
|
- libfontenc1
|
||||||
|
- libxfont1
|
||||||
|
- libxrender1
|
||||||
|
- xfonts-75dpi
|
||||||
|
- xfonts-base
|
||||||
|
- xfonts-encodings
|
||||||
|
- xfonts-utils
|
||||||
|
5.6:
|
||||||
|
type: custom
|
||||||
|
pre: OS_RELEASE="stretch"
|
||||||
|
run_dep:
|
||||||
|
- fontconfig
|
||||||
|
- libfontenc1
|
||||||
|
- libxfont1
|
||||||
|
- libxrender1
|
||||||
|
- xfonts-75dpi
|
||||||
|
- xfonts-base
|
||||||
|
- xfonts-encodings
|
||||||
|
- xfonts-utils
|
||||||
|
wp-cli:
|
||||||
|
disabled: [5.2]
|
||||||
|
check: wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false)
|
||||||
|
all:
|
||||||
|
type: custom
|
||||||
|
command: curl -sS -L --fail "${WPCLI_URL}" -L -o /usr/local/bin/wp
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre: WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"
|
||||||
|
post: chmod +x /usr/local/bin/wp
|
||||||
|
5.5:
|
||||||
|
type: custom
|
||||||
|
pre: WPCLI_URL="https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar"
|
||||||
|
5.4:
|
||||||
|
type: custom
|
||||||
|
pre: WPCLI_URL="https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar"
|
||||||
|
5.3:
|
||||||
|
type: custom
|
||||||
|
pre: WPCLI_URL="https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar"
|
||||||
|
yamllint:
|
||||||
|
disabled: []
|
||||||
|
check: yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' || (yamllint --version; false)
|
||||||
|
all:
|
||||||
|
type: pip
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
# pre:
|
||||||
|
# post:
|
||||||
|
yq:
|
||||||
|
disabled: []
|
||||||
|
check: yq --version 2>&1 | grep -E '[0-9][.0-9]+' || (yq --version; false)
|
||||||
|
all:
|
||||||
|
type: pip
|
||||||
|
version:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
pre:
|
||||||
|
post:
|
||||||
|
zsh:
|
||||||
|
disabled: []
|
||||||
|
check: zsh --version 2>&1 | grep -E '[0-9][.0-9]+' || (zsh --version; false)
|
||||||
|
all:
|
||||||
|
type: apt
|
||||||
|
package: zsh
|
||||||
@@ -10,3 +10,5 @@ php-7.2 php_version=7.2 ansible_connection=local
|
|||||||
php-7.3 php_version=7.3 ansible_connection=local
|
php-7.3 php_version=7.3 ansible_connection=local
|
||||||
php-7.4 php_version=7.4 ansible_connection=local
|
php-7.4 php_version=7.4 ansible_connection=local
|
||||||
php-8.0 php_version=8.0 ansible_connection=local
|
php-8.0 php_version=8.0 ansible_connection=local
|
||||||
|
php-8.1 php_version=8.1 ansible_connection=local
|
||||||
|
php-8.2 php_version=8.2 ansible_connection=local
|
||||||
283
.ansible/jinja2/macros-work.j2
Normal file
283
.ansible/jinja2/macros-work.j2
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
{##################################################################################################
|
||||||
|
# IMPORTS
|
||||||
|
##################################################################################################}
|
||||||
|
{% import './jinja2/macros.j2' as fn %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{##################################################################################################
|
||||||
|
# GENERIC MACROS
|
||||||
|
##################################################################################################}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Check if not disabled
|
||||||
|
###
|
||||||
|
### Returns 'true' string if not disabled, otherwise returns nothing
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro is_not_disabled(php, name, items) -%}
|
||||||
|
{%- if ('disabled' not in items[name]) or (php not in items[name]['disabled']) -%}
|
||||||
|
{{- 'true' -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'type'
|
||||||
|
###
|
||||||
|
### Returns type string
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro get_type(php, name, items) -%}
|
||||||
|
{{- fn.get_val(php, name, items, 'type', '<WRONG TYPE>') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'pre'
|
||||||
|
###
|
||||||
|
### Returns pre string
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro get_pre(php, name, items) -%}
|
||||||
|
{{- fn.get_val(php, name, items, 'pre', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'post'
|
||||||
|
###
|
||||||
|
### Returns post string
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro get_post(php, name, items) -%}
|
||||||
|
{{- fn.get_val(php, name, items, 'post', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'build_dep'
|
||||||
|
###
|
||||||
|
### Returns json string (jsonified list) of build_dep (use '| to_json' to eval)
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro get_build_dep(php, name, items) -%}
|
||||||
|
{{- fn.get_list_if_enabled(php, name, items, 'build_dep') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'run_dep'
|
||||||
|
###
|
||||||
|
### Returns json string (jsonified list) of run_dep (use '| to_json' to eval)
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro get_run_dep(php, name, items) -%}
|
||||||
|
{{- fn.get_list_if_enabled(php, name, items, 'run_dep') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{##################################################################################################
|
||||||
|
# TOOLS SPECIFIC MACROS
|
||||||
|
##################################################################################################}
|
||||||
|
|
||||||
|
{# --------------------------------------------- REPO ----------------------------------------- -#}
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'deb'
|
||||||
|
### type: repo
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_repo_get_deb(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'deb', 'repo', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'key'
|
||||||
|
### type: repo
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_repo_get_key(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'key', 'repo', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- CUSTOM --------------------------------------- -#}
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'command'
|
||||||
|
### type: custom
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_custom_get_command(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'command', 'custom', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- NPM ------------------------------------------ -#}
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'package'
|
||||||
|
### type: npm
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_npm_get_package(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'package', 'npm', name) -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'version'
|
||||||
|
### type: npm
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_npm_get_version(php, name, items) -%}
|
||||||
|
{%- set version = fn.get_val_by_type(php, name, items, 'version', 'npm', '') -%}
|
||||||
|
{%- if version | length -%}
|
||||||
|
{{- '@' ~ version -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- '' -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'binary'
|
||||||
|
### type: npm
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_npm_get_binary(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'binary', 'npm', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- COMPOSER ------------------------------------- -#}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'composer'
|
||||||
|
### type: composer
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_composer_get_composer(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'composer', 'composer', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'package'
|
||||||
|
### type: composer
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_composer_get_package(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'package', 'composer', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'version'
|
||||||
|
### type: composer
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_composer_get_version(php, name, items) -%}
|
||||||
|
{%- set version = fn.get_val_by_type(php, name, items, 'version', 'composer', '') -%}
|
||||||
|
{%- if version | length -%}
|
||||||
|
{{- ':' ~ version -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- '' -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'flags'
|
||||||
|
### type: composer
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_composer_get_flags(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'flags', 'composer', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'binary'
|
||||||
|
### type: composer
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_composer_get_binary(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'binary', 'composer', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- RUBYGEM -------------------------------------- -#}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'package'
|
||||||
|
### type: rubygem
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_rubygem_get_package(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'package', 'rubygem', '') -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'version'
|
||||||
|
### type: rubygem
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_rubygem_get_version(php, name, items) -%}
|
||||||
|
{%- set version = fn.get_val_by_type(php, name, items, 'version', 'rubygem', '') -%}
|
||||||
|
{%- if version | length -%}
|
||||||
|
{{- ' -v ' ~ version -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- '' -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- PIP ------------------------------------------ -#}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'package'
|
||||||
|
### type: pip
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_pip_get_package(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'package', 'pip', name) -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'version'
|
||||||
|
### type: pip
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_pip_get_version(php, name, items) -%}
|
||||||
|
{%- set version = fn.get_val_by_type(php, name, items, 'version', 'pip', '') -%}
|
||||||
|
{%- if version | length -%}
|
||||||
|
{{- '==' ~ version -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- '' -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
|
||||||
|
{# --------------------------------------------- APT ------------------------------------------ -#}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
###
|
||||||
|
### Get 'package'
|
||||||
|
### type: apt
|
||||||
|
###
|
||||||
|
-#}
|
||||||
|
{%- macro tool_apt_get_package(php, name, items) -%}
|
||||||
|
{%- if is_not_disabled(php, name, items) -%}
|
||||||
|
{{- fn.get_val_by_type(php, name, items, 'package', 'apt', '') -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
90
.ansible/jinja2/macros.j2
Normal file
90
.ansible/jinja2/macros.j2
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
{##################################################################################################
|
||||||
|
# HELPER MACROS
|
||||||
|
##################################################################################################}
|
||||||
|
|
||||||
|
{#
|
||||||
|
### Get generic string value of key if type value matches.
|
||||||
|
###
|
||||||
|
### php: The PHP Version
|
||||||
|
### name: The item name
|
||||||
|
### items: The items_available list
|
||||||
|
### key: The key to retrieve the value for
|
||||||
|
### type: The type key must match this type string
|
||||||
|
### default: Default value to return if none was found
|
||||||
|
#}
|
||||||
|
{%- macro get_val_by_type(php, name, items, key, type, default='' ) -%}
|
||||||
|
{#- Default return value -#}
|
||||||
|
{%- set result = default -%}
|
||||||
|
|
||||||
|
{#- PHP Version specific -#}
|
||||||
|
{%- if php in items[name] and items[name][php]['type'] == type -%}
|
||||||
|
{%- if key in items[name][php] and items[name][php][key] -%}
|
||||||
|
{%- set result = items[name][php][key] -%}
|
||||||
|
{%- elif key in items[name]['all'] and items[name]['all'][key] -%}
|
||||||
|
{%- set result = items[name]['all'][key] -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{#- Defined in 'all' -#}
|
||||||
|
{%- elif 'all' in items[name] and items[name]['all']['type'] == type -%}
|
||||||
|
{%- if key in items[name]['all'] and items[name]['all'][key] -%}
|
||||||
|
{%- set result = items[name]['all'][key] -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
|
||||||
|
{{- result -}}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
### Get generic string value of key.
|
||||||
|
###
|
||||||
|
### php: The PHP Version
|
||||||
|
### name: The item name
|
||||||
|
### items: The items_available list
|
||||||
|
### key: The key to retrieve the value for
|
||||||
|
### default: Default value to return if none was found
|
||||||
|
-#}
|
||||||
|
{%- macro get_val(php, name, items, key, default='') -%}
|
||||||
|
{%- if php in items[name] and key in items[name][php] and items[name][php][key] -%}
|
||||||
|
{{- items[name][php][key] -}}
|
||||||
|
{%- elif 'all' in items[name] and key in items[name]['all'] and items[name]['all'][key] -%}
|
||||||
|
{{- items[name]['all'][key] -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- default -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
### Get generic list value (space separated) of not disabled PHP versions.
|
||||||
|
###
|
||||||
|
### Returns jsonified string of a list.
|
||||||
|
###
|
||||||
|
### Usage:
|
||||||
|
### {%- set list = [] -%}
|
||||||
|
### {%- for val in get_enabled_list(php_version, item, items_available) | from_json -%}
|
||||||
|
### {%- if val -%}
|
||||||
|
### {{- list.append(val) -}}
|
||||||
|
### {%- endif -%}
|
||||||
|
### {%- endfor -%}
|
||||||
|
###
|
||||||
|
### php: The PHP Version
|
||||||
|
### name: The item name
|
||||||
|
### items: The items_available list
|
||||||
|
### key: The key to retrieve the value for
|
||||||
|
-#}
|
||||||
|
{%- macro get_list_if_enabled(php, name, items, key) -%}
|
||||||
|
{%- set list = [] %}
|
||||||
|
{# Not disabled #}
|
||||||
|
{%- if ('disabled' not in items[name]) or (php not in items[name]['disabled']) -%}
|
||||||
|
{#- Version specific build dependency available? -#}
|
||||||
|
{%- if php in items[name] and key in items[name][php] -%}
|
||||||
|
{%- for val in items[name][php][key] -%}
|
||||||
|
{{- list.append(val) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{#- Generic build dependency available? -#}
|
||||||
|
{%- elif 'all' in items[name] and key in items[name]['all'] -%}
|
||||||
|
{%- for val in items[name]['all'][key] -%}
|
||||||
|
{{- list.append(val) -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- list | to_json -}}
|
||||||
|
{%- endmacro -%}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: generate Dockerfiles
|
- name: generate Dockerfiles
|
||||||
template:
|
ansible.builtin.template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ item.src }}"
|
||||||
dest: "{{ item.dst }}"
|
dest: "{{ item.dst }}"
|
||||||
force: True
|
force: True
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
- "{{ template_dockerfiles }}"
|
- "{{ template_dockerfiles }}"
|
||||||
|
|
||||||
- name: generate php configuration files
|
- name: generate php configuration files
|
||||||
template:
|
ansible.builtin.template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ item.src }}"
|
||||||
dest: "{{ item.dst }}"
|
dest: "{{ item.dst }}"
|
||||||
force: True
|
force: True
|
||||||
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
github: [cytopia]
|
||||||
|
patreon: devilbox
|
||||||
365
.github/workflows/action-schedule_master.yml
vendored
Normal file
365
.github/workflows/action-schedule_master.yml
vendored
Normal file
@@ -0,0 +1,365 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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/9) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params-nightly_master.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/9) 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/9) 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/9) 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/9) 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/9) Build & Test slim
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-slim:
|
||||||
|
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: slim
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/9) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/9) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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: slim
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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 }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (9/9) 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-slim
|
||||||
|
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: slim
|
||||||
|
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 }}
|
||||||
365
.github/workflows/action-schedule_tags.yml
vendored
Normal file
365
.github/workflows/action-schedule_tags.yml
vendored
Normal file
@@ -0,0 +1,365 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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/9) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params-nightly_tags.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/9) 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/9) 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/9) 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/9) 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/9) Build & Test slim
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-slim:
|
||||||
|
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: slim
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/9) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/9) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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: slim
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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 }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (9/9) 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-slim
|
||||||
|
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: slim
|
||||||
|
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 }}
|
||||||
365
.github/workflows/action.yml
vendored
Normal file
365
.github/workflows/action.yml
vendored
Normal file
@@ -0,0 +1,365 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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/9) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/9) 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/9) 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/9) 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/9) 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/9) Build & Test slim
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-slim:
|
||||||
|
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: slim
|
||||||
|
stage_prev: prod
|
||||||
|
|
||||||
|
test-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (7/9) Build & Test work
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
build-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- build-slim
|
||||||
|
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: slim
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (8/9) Push images
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
push-base:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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: slim
|
||||||
|
secrets:
|
||||||
|
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
push-work:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- test-base
|
||||||
|
- test-mods
|
||||||
|
- test-prod
|
||||||
|
- test-slim
|
||||||
|
- 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 }}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (9/9) 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-slim:
|
||||||
|
needs:
|
||||||
|
- configure
|
||||||
|
- push-slim
|
||||||
|
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: slim
|
||||||
|
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 }}
|
||||||
61
.github/workflows/linting.yml
vendored
61
.github/workflows/linting.yml
vendored
@@ -1,27 +1,62 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
###
|
# -------------------------------------------------------------------------------------------------
|
||||||
### 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
|
||||||
|
|
||||||
|
- name: Install Python 3.9
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.9'
|
||||||
|
|
||||||
|
- name: Install required Python packages
|
||||||
|
run: |
|
||||||
|
pip install yamllib
|
||||||
|
pip install typing
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# 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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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-')))
|
|
||||||
)
|
|
||||||
333
.github/workflows/php-nightly.yml
vendored
333
.github/workflows/php-nightly.yml
vendored
@@ -1,333 +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}"
|
|
||||||
|
|
||||||
- name: Show git info
|
|
||||||
env:
|
|
||||||
RUNNER_CONTEXT: ${{ toJson(runner) }}
|
|
||||||
run: |
|
|
||||||
git log | head -20
|
|
||||||
|
|
||||||
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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 in $(seq ${RETRIES}); do
|
|
||||||
echo "[${n}/${RETRIES}] ${*}";
|
|
||||||
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-')))
|
|
||||||
)
|
|
||||||
77
.gitignore
vendored
77
.gitignore
vendored
@@ -1,74 +1,5 @@
|
|||||||
######################################
|
.ansible/*.retry
|
||||||
# CUSTOM
|
|
||||||
######################################
|
|
||||||
|
|
||||||
build/ansible/*.retry
|
Makefile.docker
|
||||||
|
Makefile.lint
|
||||||
|
Makefile.python
|
||||||
|
|
||||||
######################################
|
|
||||||
# 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
|
|
||||||
|
|||||||
143
.travis.yml
143
.travis.yml
@@ -1,143 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
###
|
|
||||||
### Travis settings
|
|
||||||
###
|
|
||||||
sudo: required
|
|
||||||
language: minimal
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Build Matrix
|
|
||||||
###
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- IMAGE: devilbox/php-fpm
|
|
||||||
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
|
|
||||||
make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}";
|
|
||||||
if [ "${TRAVIS_BRANCH}" == "master" ]; then
|
|
||||||
echo "Pushing latest";
|
|
||||||
make push TAG="${PHP}-base" &&
|
|
||||||
make push TAG="${PHP}-mods" &&
|
|
||||||
make push TAG="${PHP}-prod" &&
|
|
||||||
make push TAG="${PHP}-work";
|
|
||||||
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
|
|
||||||
echo "Pushing branch ${TRAVIS_BRANCH}";
|
|
||||||
make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" &&
|
|
||||||
make push TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
|
|
||||||
make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
|
|
||||||
make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
|
|
||||||
make push TAG="${PHP}-work-${TRAVIS_BRANCH}";
|
|
||||||
elif [ -n "${TRAVIS_TAG}" ]; then
|
|
||||||
echo "Pushing tag ${TRAVIS_TAG}";
|
|
||||||
make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" &&
|
|
||||||
make push TAG="${PHP}-base-${TRAVIS_TAG}" &&
|
|
||||||
make push TAG="${PHP}-mods-${TRAVIS_TAG}" &&
|
|
||||||
make push TAG="${PHP}-prod-${TRAVIS_TAG}" &&
|
|
||||||
make push TAG="${PHP}-work-${TRAVIS_TAG}";
|
|
||||||
elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
|
|
||||||
if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then
|
|
||||||
echo "Pushing cron tag ${MY_TAG}";
|
|
||||||
make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" &&
|
|
||||||
make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" &&
|
|
||||||
make push TAG="${PHP}-base-${MY_TAG}" &&
|
|
||||||
make push TAG="${PHP}-mods-${MY_TAG}" &&
|
|
||||||
make push TAG="${PHP}-prod-${MY_TAG}" &&
|
|
||||||
make push TAG="${PHP}-work-${MY_TAG}";
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Skipping push to dockerhub on normal branches";
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Skipping push to dockerhub on PR";
|
|
||||||
fi
|
|
||||||
380
CHANGELOG.md
380
CHANGELOG.md
@@ -4,6 +4,386 @@
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.145
|
||||||
|
|
||||||
|
This is a massive restructuring release, which adds another layer on top of Ansible to easily manage/edit/add PHP tools and to configure their respective order of building and installing.
|
||||||
|
|
||||||
|
Additionally it introduces a new flavour: `slim` which is an intermediated stage between `prod` and `work`. It allows for a slim image with only required cli tools to work with the Devilbox.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- New PHP Flavour: `slim`
|
||||||
|
- Added `mhsendmail` for `arm64` architecture
|
||||||
|
- Added `wkhtmltopdf` for `arm64 architecture [#252](https://github.com/devilbox/docker-php-fpm/issues/252)
|
||||||
|
- Added `taskfile` (https://taskfile.dev/)
|
||||||
|
- Added mechanism to easily build custom images with custom set of PHP tools
|
||||||
|
- Added automated PHP tools dependency resolver (order of built is always correct)
|
||||||
|
- Added tons of documentation
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Split out PHP tools into separate directories
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed `xdebug` build
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.144
|
||||||
|
|
||||||
|
This is a massive restructuring release, which adds another layer on top of Ansible to easily manage/edit/add PHP extensions and to configure their respective order of building and loading.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Added PHP extension: `lz4`
|
||||||
|
- Added PHP extension: `lzf`
|
||||||
|
- Added PHP extension: `zstd`
|
||||||
|
- Added mechanism to easily build custom images with custom set of PHP extensions
|
||||||
|
- Added automated PHP extension dependency resolver (order of built is always correct)
|
||||||
|
- Added tons of documentation
|
||||||
|
- Added Credit to contributors
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Added serializer for Redis extension: `lz4`, `lzf` and `zstd`
|
||||||
|
- Restructured Documentation
|
||||||
|
- Split out PHP extensions into separate directories
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.143
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- 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
|
## Release 0.110
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM devilbox/php-fpm-5.2
|
FROM devilbox/php-fpm-5.2
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,15 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM devilbox/php-fpm-5.3
|
FROM devilbox/php-fpm-5.3
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,15 +45,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,6 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
FROM php:5.4-fpm
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-5.4
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,15 +45,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,6 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
FROM php:5.5-fpm
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-5.5
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
@@ -44,15 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:5.6-fpm
|
FROM php:5.6-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.0-fpm
|
FROM php:7.0-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.1-fpm
|
FROM php:7.1-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.2-fpm
|
FROM php:7.2-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.3-fpm
|
FROM php:7.3-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.4-fpm
|
FROM php:7.4-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM devilbox/php-fpm-8.0
|
FROM devilbox/php-fpm-8.0
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -44,8 +45,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/*
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
107
Dockerfiles/base/Dockerfile-8.1
Normal file
107
Dockerfiles/base/Dockerfile-8.1
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./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"]
|
||||||
107
Dockerfiles/base/Dockerfile-8.2
Normal file
107
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./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}"
|
||||||
run "usermod -u ${uid} ${username}" "${debug}"
|
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R ${username} ${homedir} || true" "${debug}"
|
run "usermod -u ${uid} ${username}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R ${username} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R ${username} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R ${username} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -100,12 +108,20 @@ set_gid() {
|
|||||||
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Change ugd and fix homedir permissions
|
# Change gid and fix homedir permissions
|
||||||
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
||||||
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R :${groupname} ${homedir} || true" "${debug}"
|
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R :${groupname} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R :${groupname} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R :${groupname} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
48
Dockerfiles/base/data/php-ini.d/php-8.1.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.1.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.1-base
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = Off
|
||||||
|
display_startup_errors = Off
|
||||||
|
log_errors = On
|
||||||
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.2-base
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = Off
|
||||||
|
display_startup_errors = Off
|
||||||
|
log_errors = On
|
||||||
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.2-base as builder
|
FROM devilbox/php-fpm:5.2-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,9 +7,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 +26,47 @@ 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 \
|
||||||
|
libzip-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 +83,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 +156,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 +196,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 +227,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
|
||||||
@@ -241,21 +237,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: msgpack --------------------
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: Built-in extension
|
||||||
# Default: Pecl command
|
# Installation
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable msgpack \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -270,6 +256,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -292,6 +289,25 @@ RUN set -eux \
|
|||||||
&& 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 +341,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 +356,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
|
||||||
@@ -356,6 +383,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install redis-2.2.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phar --------------------
|
# -------------------- Installing PHP Extension: phar --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -375,25 +418,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis-2.2.7 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -407,11 +431,19 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: soap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& 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
|
||||||
@@ -420,6 +452,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -458,7 +501,7 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# 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
|
||||||
@@ -503,22 +546,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -526,13 +558,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.2-base as final
|
FROM devilbox/php-fpm:5.2-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -556,27 +588,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,8 +612,10 @@ RUN set -eux \
|
|||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
libvpx1 \
|
libvpx1 \
|
||||||
|
libwebp5 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
|
libzip2 \
|
||||||
snmp \
|
snmp \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
@@ -597,7 +624,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
|
||||||
@@ -630,12 +668,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -664,24 +708,24 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^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$' \
|
||||||
&& php-fpm -m | grep -oiE '^mysql$' \
|
&& php-fpm -m | grep -oiE '^mysql$' \
|
||||||
&& php -m | grep -oiE '^mysqli$' \
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
&& php-fpm -m | grep -oiE '^mysqli$' \
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
@@ -690,8 +734,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -706,6 +748,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 '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
&& 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$' \
|
||||||
@@ -715,8 +759,6 @@ RUN set -eux \
|
|||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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 '^session$' \
|
&& php -m | grep -oiE '^session$' \
|
||||||
@@ -733,6 +775,12 @@ 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 '^sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& 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$' \
|
||||||
@@ -749,8 +797,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^wddx$' \
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
&& 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-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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -759,11 +805,18 @@ 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 '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.3-base as builder
|
FROM devilbox/php-fpm:5.3-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,14 +7,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 +29,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,14 +42,39 @@ 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 \
|
libyaml-dev \
|
||||||
|
libzip-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -64,23 +91,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
|
||||||
@@ -151,24 +161,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
|
||||||
@@ -185,7 +190,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 \
|
||||||
@@ -206,7 +211,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
|
||||||
@@ -235,7 +240,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
|
||||||
@@ -244,30 +249,12 @@ 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 \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: msgpack --------------------
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: Built-in extension
|
||||||
# Default: Pecl command
|
# Installation
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable msgpack \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -282,6 +269,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -315,10 +313,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
|
||||||
|
|
||||||
@@ -337,19 +346,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -357,7 +379,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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,7 +416,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 \
|
||||||
@@ -404,10 +433,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
|
||||||
|
|
||||||
@@ -428,6 +458,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install redis-4.3.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -451,17 +497,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis-4.3.0 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -486,7 +521,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -495,8 +530,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -509,6 +542,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -558,12 +602,23 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# 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
|
||||||
@@ -614,22 +669,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -637,13 +681,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.3-base as final
|
FROM devilbox/php-fpm:5.3-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -667,24 +711,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 \
|
||||||
@@ -698,13 +735,18 @@ 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 \
|
libyaml-0-2 \
|
||||||
|
libzip2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -712,11 +754,29 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -745,6 +805,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 '^apc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apc$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
&& php-fpm -m | grep -oiE '^apcu$' \
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -757,12 +819,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^ereg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ereg$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -793,18 +863,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^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$' \
|
||||||
@@ -815,6 +883,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -825,8 +895,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -841,6 +909,10 @@ 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 '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
&& 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$' \
|
||||||
@@ -849,15 +921,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -872,6 +942,12 @@ 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 '^sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -886,12 +962,12 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
|
||||||
&& php -m | grep -oiE '^xmlreader$' \
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -902,11 +978,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.4-base as builder
|
FROM devilbox/php-fpm:5.4-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,14 +7,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 +29,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,14 +42,39 @@ 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 \
|
libyaml-dev \
|
||||||
|
libzip-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -64,23 +91,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
|
||||||
@@ -107,7 +117,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
|
||||||
|
|
||||||
|
|
||||||
@@ -115,7 +125,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
|
||||||
|
|
||||||
|
|
||||||
@@ -123,7 +133,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
|
||||||
|
|
||||||
|
|
||||||
@@ -131,7 +141,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
|
||||||
|
|
||||||
|
|
||||||
@@ -139,7 +149,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
|
||||||
|
|
||||||
|
|
||||||
@@ -147,30 +157,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
|
||||||
|
|
||||||
|
|
||||||
@@ -178,17 +183,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
|
||||||
|
|
||||||
|
|
||||||
@@ -206,12 +211,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
|
||||||
|
|
||||||
|
|
||||||
@@ -219,7 +224,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
|
||||||
|
|
||||||
|
|
||||||
@@ -228,46 +233,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 \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install mcrypt \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: msgpack --------------------
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: Built-in extension
|
||||||
# Default: Pecl command
|
# Installation
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable msgpack \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -282,6 +269,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -319,15 +317,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
|
||||||
|
|
||||||
|
|
||||||
@@ -345,27 +346,47 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -388,17 +409,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
|
||||||
|
|
||||||
|
|
||||||
@@ -406,17 +427,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
|
||||||
|
|
||||||
|
|
||||||
@@ -424,7 +446,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
|
||||||
|
|
||||||
|
|
||||||
@@ -432,7 +454,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 pgsql \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -447,6 +469,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install redis-4.3.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -466,18 +504,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
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis-4.3.0 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -496,7 +523,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
|
||||||
|
|
||||||
|
|
||||||
@@ -505,8 +532,8 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -514,9 +541,7 @@ 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-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install soap \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -524,7 +549,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 sockets \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -543,7 +579,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
|
||||||
|
|
||||||
|
|
||||||
@@ -551,7 +587,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
|
||||||
|
|
||||||
|
|
||||||
@@ -559,7 +595,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
|
||||||
|
|
||||||
|
|
||||||
@@ -568,7 +604,7 @@ 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
|
||||||
|
|
||||||
|
|
||||||
@@ -577,19 +613,30 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# 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
|
||||||
|
|
||||||
|
|
||||||
@@ -610,7 +657,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
|
||||||
|
|
||||||
|
|
||||||
@@ -618,7 +665,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 xsl \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -633,22 +680,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -656,13 +692,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.4-base as final
|
FROM devilbox/php-fpm:5.4-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -686,24 +722,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 \
|
||||||
@@ -717,13 +746,18 @@ 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 \
|
libyaml-0-2 \
|
||||||
|
libzip2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -731,11 +765,29 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -764,6 +816,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 '^apc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apc$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
&& php-fpm -m | grep -oiE '^apcu$' \
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -776,12 +830,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^ereg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ereg$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -812,18 +874,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^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$' \
|
||||||
@@ -834,6 +894,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -844,8 +906,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -862,6 +922,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
&& 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$' \
|
||||||
@@ -870,15 +934,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -893,6 +955,10 @@ 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 '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -907,12 +973,12 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
|
||||||
&& php -m | grep -oiE '^xmlreader$' \
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -923,11 +989,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.5-base as builder
|
FROM devilbox/php-fpm:5.5-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,15 +7,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 \
|
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 \
|
||||||
@@ -30,6 +31,7 @@ RUN set -eux \
|
|||||||
libmagickwand-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 \
|
||||||
@@ -37,21 +39,44 @@ 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 \
|
||||||
libwebp5 \
|
libwebp-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxpm-dev \
|
libxpm-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
libzip-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -68,23 +93,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.5.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
|
||||||
@@ -158,11 +166,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
|
||||||
@@ -179,7 +192,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,7 +235,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
|
||||||
@@ -248,10 +261,27 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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_5.5.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -261,21 +291,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: msgpack --------------------
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: Built-in extension
|
||||||
# Default: Pecl command
|
# Installation
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable msgpack \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -290,6 +310,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -327,14 +358,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
|
||||||
|
|
||||||
@@ -353,19 +387,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -373,7 +420,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -400,7 +454,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 \
|
||||||
@@ -417,10 +471,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
|
||||||
|
|
||||||
@@ -452,6 +507,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install redis-4.3.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -475,25 +546,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis-4.3.0 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -518,7 +570,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -527,8 +579,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -541,6 +591,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -590,12 +651,23 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# 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
|
||||||
@@ -646,22 +718,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -669,13 +730,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.5-base as final
|
FROM devilbox/php-fpm:5.5-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -699,25 +760,18 @@ 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 \
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu52 \
|
libicu52 \
|
||||||
@@ -732,6 +786,7 @@ RUN set -eux \
|
|||||||
librabbitmq1 \
|
librabbitmq1 \
|
||||||
librdkafka1 \
|
librdkafka1 \
|
||||||
librecode0 \
|
librecode0 \
|
||||||
|
libssl1.0.0 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy-0.99-0 \
|
libtidy-0.99-0 \
|
||||||
libvpx1 \
|
libvpx1 \
|
||||||
@@ -739,7 +794,10 @@ RUN set -eux \
|
|||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
|
libzip2 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -747,7 +805,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -762,7 +831,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -791,6 +867,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 '^apc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apc$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
&& php-fpm -m | grep -oiE '^apcu$' \
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -803,12 +881,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^ereg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ereg$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -841,18 +927,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^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$' \
|
||||||
@@ -863,6 +947,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -873,8 +959,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -891,6 +975,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
&& 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$' \
|
||||||
@@ -899,15 +987,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -922,6 +1008,10 @@ 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 '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -936,12 +1026,12 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
|
||||||
&& php -m | grep -oiE '^xmlreader$' \
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -952,11 +1042,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.6-base as builder
|
FROM devilbox/php-fpm:5.6-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,15 +7,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 \
|
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 \
|
||||||
@@ -28,6 +29,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 \
|
||||||
@@ -44,16 +46,38 @@ 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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
re2c \
|
||||||
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,23 +94,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.6.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
|
||||||
@@ -174,11 +181,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
|
||||||
@@ -195,7 +202,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 \
|
||||||
@@ -238,7 +245,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
|
||||||
@@ -264,10 +271,27 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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_5.6.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -277,21 +301,11 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: msgpack --------------------
|
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: Built-in extension
|
||||||
# Default: Pecl command
|
# Installation
|
||||||
&& pecl install msgpack-0.5.7 \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable msgpack \
|
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -306,6 +320,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -343,6 +368,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
|
||||||
@@ -350,8 +377,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
|
||||||
|
|
||||||
@@ -370,19 +398,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -390,7 +431,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -417,7 +465,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 \
|
||||||
@@ -434,10 +482,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
|
||||||
|
|
||||||
@@ -469,6 +518,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install redis-4.3.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -492,25 +557,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis-4.3.0 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -522,6 +568,14 @@ 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: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -535,7 +589,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -544,8 +598,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -558,6 +610,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -607,12 +670,23 @@ RUN set -eux \
|
|||||||
# Installation: Version specific
|
# 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
|
||||||
@@ -663,21 +737,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -685,13 +749,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.6-base as final
|
FROM devilbox/php-fpm:5.6-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -715,25 +779,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 \
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libenchant1c2a \
|
||||||
|
libevent-2.0-5 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu57 \
|
libicu57 \
|
||||||
@@ -757,6 +814,8 @@ RUN set -eux \
|
|||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
snmp \
|
snmp \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -764,7 +823,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -779,7 +849,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -808,6 +885,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 '^apc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apc$' \
|
||||||
&& php -m | grep -oiE '^apcu$' \
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
&& php-fpm -m | grep -oiE '^apcu$' \
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
&& php -m | grep -oiE '^bcmath$' \
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
@@ -820,12 +899,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^ereg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ereg$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -858,18 +945,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^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$' \
|
||||||
@@ -880,6 +965,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -890,8 +977,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -908,6 +993,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
&& 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$' \
|
||||||
@@ -916,15 +1005,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -939,6 +1026,10 @@ 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 '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -953,12 +1044,12 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
|
||||||
&& php -m | grep -oiE '^xmlreader$' \
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
&& php -m | grep -oiE '^xmlrpc$' \
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -969,11 +1060,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.0-base as builder
|
FROM devilbox/php-fpm:7.0-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,15 +7,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 \
|
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,7 +28,9 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadbclient-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,19 +46,44 @@ RUN set -eux \
|
|||||||
libssh2-1-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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -72,23 +100,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_7.0.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
|
||||||
@@ -176,11 +187,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
|
||||||
@@ -197,7 +208,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 \
|
||||||
@@ -240,7 +251,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
|
||||||
@@ -266,10 +277,27 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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.0.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -278,14 +306,55 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: lz4 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
||||||
|
&& cd /tmp/lz4 \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lz4 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lzf --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install lzf-1.6.8 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lzf \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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: msgpack --------------------
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -297,23 +366,12 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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: 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
|
||||||
@@ -321,10 +379,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
|
||||||
@@ -332,8 +390,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
|
||||||
|
|
||||||
@@ -352,19 +411,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -372,7 +444,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -399,7 +478,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 \
|
||||||
@@ -416,10 +495,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
|
||||||
|
|
||||||
@@ -427,19 +507,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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
|
||||||
@@ -479,15 +572,71 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zstd --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install zstd \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable zstd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if php -m | grep -q "igbinary"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lz4"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "msgpack"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.3.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -511,25 +660,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -541,6 +671,14 @@ 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: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -554,7 +692,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -563,8 +701,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -577,17 +713,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install sqlsrv-5.3.0 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable sqlsrv \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ssh2 --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -599,6 +724,17 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -645,20 +781,37 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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
|
||||||
@@ -680,6 +833,17 @@ 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: xmlrpc --------------------
|
# -------------------- Installing PHP Extension: xmlrpc --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -709,21 +873,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -731,13 +885,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.0-base as final
|
FROM devilbox/php-fpm:7.0-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -761,30 +915,25 @@ 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 \
|
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 \
|
||||||
|
liblz4-1 \
|
||||||
libmagickwand-6.q16-3 \
|
libmagickwand-6.q16-3 \
|
||||||
|
libmariadbclient18 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -796,14 +945,18 @@ RUN set -eux \
|
|||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5 \
|
libtidy5 \
|
||||||
|
libvips42 \
|
||||||
libvpx4 \
|
libvpx4 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
libzstd1 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -811,7 +964,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -826,7 +990,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -867,12 +1038,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -905,16 +1082,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
&& php -m | grep -oiE '^lz4$' \
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^lzf$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -923,6 +1100,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -933,8 +1112,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -955,6 +1132,14 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^zstd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& 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$' \
|
||||||
@@ -963,15 +1148,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -986,10 +1169,12 @@ 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 '^sqlsrv$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php -m | grep -oiE '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -1004,12 +1189,16 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
&& 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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -1020,11 +1209,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.1-base as builder
|
FROM devilbox/php-fpm:7.1-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,15 +7,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 \
|
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,7 +28,9 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,19 +46,44 @@ RUN set -eux \
|
|||||||
libssh2-1-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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -72,23 +100,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_7.1.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
|
||||||
@@ -176,11 +187,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
|
||||||
@@ -197,7 +208,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 \
|
||||||
@@ -240,7 +251,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
|
||||||
@@ -259,16 +270,34 @@ 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
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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.1.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -277,14 +306,55 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: lz4 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
||||||
|
&& cd /tmp/lz4 \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lz4 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lzf --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install lzf-1.6.8 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lzf \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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: msgpack --------------------
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -296,23 +366,12 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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: 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
|
||||||
@@ -320,10 +379,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
|
||||||
@@ -351,19 +410,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -371,7 +443,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -398,7 +477,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 \
|
||||||
@@ -426,19 +505,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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
|
||||||
@@ -478,15 +570,81 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zstd --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
|
||||||
|
&& cd /tmp/zstd \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-zstd --with-libzstd \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable zstd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if php -m | grep -q "igbinary"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lz4"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "msgpack"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "zstd"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.6.1 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -510,25 +668,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -540,6 +679,14 @@ 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: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -553,7 +700,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -562,8 +709,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -587,17 +732,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install sqlsrv-5.6.1 \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable sqlsrv \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ssh2 --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -609,12 +743,23 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Default: Pecl command
|
||||||
&& yes yes | pecl install swoole \
|
&& pecl install swoole-4.4.26 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
@@ -654,20 +799,37 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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
|
||||||
@@ -679,13 +841,24 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xdebug-2.9.8 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& pecl install xlswriter \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xlswriter \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -718,21 +891,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -740,13 +903,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.1-base as final
|
FROM devilbox/php-fpm:7.1-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -770,30 +933,25 @@ 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 \
|
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 \
|
||||||
|
liblz4-1 \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -805,15 +963,18 @@ RUN set -eux \
|
|||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
|
libvips42 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
libzstd1 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -821,7 +982,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -836,7 +1008,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -877,12 +1056,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -915,16 +1100,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
&& php -m | grep -oiE '^lz4$' \
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^lzf$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -933,6 +1118,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -943,8 +1130,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -965,6 +1150,14 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^zstd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& 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$' \
|
||||||
@@ -973,15 +1166,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -998,10 +1189,12 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^solr$' \
|
&& php-fpm -m | grep -oiE '^solr$' \
|
||||||
&& php -m | grep -oiE '^spl$' \
|
&& php -m | grep -oiE '^spl$' \
|
||||||
&& php-fpm -m | grep -oiE '^spl$' \
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
&& php -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php -m | grep -oiE '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -1016,12 +1209,16 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
&& 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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -1032,11 +1229,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.2-base as builder
|
FROM devilbox/php-fpm:7.2-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,15 +7,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 \
|
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,7 +28,9 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,19 +46,44 @@ RUN set -eux \
|
|||||||
libssh2-1-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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -72,23 +100,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_7.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: Generic
|
# Installation: Generic
|
||||||
@@ -176,11 +187,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
|
||||||
@@ -197,7 +208,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 \
|
||||||
@@ -240,7 +251,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
|
||||||
@@ -259,16 +270,34 @@ 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
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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.2.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -277,6 +306,35 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lz4 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
||||||
|
&& cd /tmp/lz4 \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lz4 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lzf --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install lzf \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lzf \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -288,6 +346,17 @@ 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: msgpack --------------------
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -299,23 +368,12 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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: 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
|
||||||
@@ -354,19 +412,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -374,7 +445,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -401,7 +479,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 \
|
||||||
@@ -429,19 +507,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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
|
||||||
@@ -463,10 +554,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
|
||||||
@@ -482,23 +573,89 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: psr --------------------
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install psr \
|
&& pecl install psr-1.1.0 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable psr \
|
&& docker-php-ext-enable psr \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: zstd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
|
||||||
|
&& cd /tmp/zstd \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-zstd --with-libzstd \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable zstd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if php -m | grep -q "igbinary"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lz4"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "msgpack"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "zstd"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.8.1 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# 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
|
||||||
@@ -514,25 +671,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -544,6 +682,14 @@ 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: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -557,7 +703,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -566,8 +712,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -591,17 +735,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install sqlsrv \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable sqlsrv \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ssh2 --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -613,12 +746,23 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Default: Pecl command
|
||||||
&& yes yes | pecl install swoole \
|
&& pecl install swoole-4.8.12 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
@@ -659,19 +803,36 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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
|
||||||
@@ -683,13 +844,24 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xdebug-3.1.6 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& pecl install xlswriter \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xlswriter \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -722,21 +894,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -744,13 +906,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.2-base as final
|
FROM devilbox/php-fpm:7.2-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -774,30 +936,25 @@ 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 \
|
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 \
|
||||||
|
liblz4-1 \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -809,15 +966,18 @@ RUN set -eux \
|
|||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
|
libvips42 \
|
||||||
libvpx5 \
|
libvpx5 \
|
||||||
libwebp-dev \
|
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
libzstd1 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -825,7 +985,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -840,7 +1011,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -881,12 +1059,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^enchant$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -919,16 +1103,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
&& php -m | grep -oiE '^lz4$' \
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^lzf$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -937,6 +1121,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -947,8 +1133,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -969,6 +1153,14 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^zstd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& 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$' \
|
||||||
@@ -977,15 +1169,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -1004,10 +1194,12 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^solr$' \
|
&& php-fpm -m | grep -oiE '^solr$' \
|
||||||
&& php -m | grep -oiE '^spl$' \
|
&& php -m | grep -oiE '^spl$' \
|
||||||
&& php-fpm -m | grep -oiE '^spl$' \
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
&& php -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php -m | grep -oiE '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -1022,12 +1214,16 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
&& 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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -1038,11 +1234,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.3-base as builder
|
FROM devilbox/php-fpm:7.3-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,18 +7,17 @@ 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 \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
ghostscript \
|
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 \
|
||||||
@@ -27,7 +27,10 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
|
liblzf-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,19 +46,44 @@ RUN set -eux \
|
|||||||
libssh2-1-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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -72,23 +100,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_7.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: Generic
|
# Installation: Generic
|
||||||
@@ -157,14 +168,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
|
||||||
@@ -176,11 +179,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
|
||||||
@@ -197,7 +200,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 \
|
||||||
@@ -240,7 +243,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
|
||||||
@@ -265,10 +268,27 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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.3.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& 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
|
||||||
@@ -277,6 +297,35 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lz4 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
||||||
|
&& cd /tmp/lz4 \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lz4 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lzf --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install lzf \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lzf \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: mcrypt --------------------
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -288,6 +337,17 @@ 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: msgpack --------------------
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -299,23 +359,12 @@ RUN set -eux \
|
|||||||
&& true
|
&& 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: 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
|
||||||
@@ -354,19 +403,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -374,7 +436,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -401,7 +470,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 \
|
||||||
@@ -429,19 +498,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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
|
||||||
@@ -463,10 +545,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
|
||||||
@@ -491,14 +573,83 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: phalcon --------------------
|
# -------------------- Installing PHP Extension: zstd --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: GIT extension
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
|
||||||
|
&& cd /tmp/zstd \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-zstd --with-libzstd \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable zstd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if php -m | grep -q "igbinary"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lz4"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lzf"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "msgpack"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "zstd"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv-5.9.0 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# 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
|
||||||
@@ -514,25 +665,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 --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -544,6 +676,14 @@ 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: shmop --------------------
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -557,7 +697,7 @@ 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 snmp --with-openssl-dir \
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -566,8 +706,6 @@ 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 soap --with-libxml-dir=/usr \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -591,17 +729,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install sqlsrv \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable sqlsrv \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: ssh2 --------------------
|
# -------------------- Installing PHP Extension: ssh2 --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -613,12 +740,23 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Default: Pecl command
|
||||||
&& yes yes | pecl install swoole \
|
&& pecl install swoole-4.8.12 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
@@ -659,19 +797,36 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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
|
||||||
@@ -683,13 +838,24 @@ RUN set -eux \
|
|||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: xdebug --------------------
|
# -------------------- Installing PHP Extension: xdebug --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xdebug-3.1.6 \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& pecl install xlswriter \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xlswriter \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
@@ -722,21 +888,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -744,13 +900,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.3-base as final
|
FROM devilbox/php-fpm:7.3-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -774,30 +930,25 @@ 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 \
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libevent-2.1-7 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu67 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
liblz4-1 \
|
||||||
|
liblzf1 \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -809,15 +960,18 @@ RUN set -eux \
|
|||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvips42 \
|
||||||
libwebp-dev \
|
libvpx6 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
libzstd1 \
|
||||||
snmp \
|
snmp \
|
||||||
unixodbc \
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
zlib1g \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -825,7 +979,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -840,7 +1005,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -881,12 +1053,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^mbstring$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -919,16 +1095,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
&& php -m | grep -oiE '^lz4$' \
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^lzf$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -937,6 +1113,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -947,8 +1125,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -969,6 +1145,14 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^zstd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& 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$' \
|
||||||
@@ -977,15 +1161,13 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
&& php -m | grep -oiE '^readline$' \
|
||||||
&& php -m | grep -oiE '^recode$' \
|
&& php -m | grep -oiE '^recode$' \
|
||||||
&& php-fpm -m | grep -oiE '^recode$' \
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-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$' \
|
||||||
@@ -1004,10 +1186,12 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^solr$' \
|
&& php-fpm -m | grep -oiE '^solr$' \
|
||||||
&& php -m | grep -oiE '^spl$' \
|
&& php -m | grep -oiE '^spl$' \
|
||||||
&& php-fpm -m | grep -oiE '^spl$' \
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
&& php -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
|
||||||
&& php -m | grep -oiE '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -1022,12 +1206,16 @@ 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$' \
|
||||||
&& php-fpm -m | grep -oiE '^xdebug$' \
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
&& php -m | grep -oiE '^xml$' \
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
&& 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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -1038,11 +1226,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.4-base as builder
|
FROM devilbox/php-fpm:7.4-base as builder
|
||||||
|
|
||||||
|
|
||||||
@@ -6,18 +7,17 @@ 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 \
|
||||||
firebird-dev \
|
firebird-dev \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
ghostscript \
|
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 \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
@@ -28,7 +28,10 @@ RUN set -eux \
|
|||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
|
liblzf-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
|
libmariadb-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libnghttp2-dev \
|
libnghttp2-dev \
|
||||||
@@ -43,18 +46,44 @@ RUN set -eux \
|
|||||||
libssh2-1-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 \
|
libyaml-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
re2c \
|
||||||
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)
|
||||||
@@ -139,14 +168,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
|
||||||
@@ -158,28 +179,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
|
||||||
@@ -196,7 +208,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 \
|
||||||
@@ -239,7 +251,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
|
||||||
@@ -256,10 +268,27 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- 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: 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
|
||||||
@@ -268,9 +297,38 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lz4 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
||||||
|
&& cd /tmp/lz4 \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lz4 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: lzf --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install lzf \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable lzf \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- 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 \
|
||||||
@@ -279,6 +337,17 @@ 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: msgpack --------------------
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -290,27 +359,12 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcache --------------------
|
# -------------------- 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 memcache \
|
&& printf "\n\n\nyes\nyes\nyes\n" | pecl install memcached \
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable memcache \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: memcached --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: GIT extension
|
|
||||||
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
|
||||||
&& cd /tmp/memcached \
|
|
||||||
# Custom: Branch
|
|
||||||
&& git checkout master \
|
|
||||||
# Custom: Install command
|
|
||||||
&& 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
|
||||||
@@ -349,19 +403,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
\
|
\
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
@@ -369,7 +436,14 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -396,7 +470,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 \
|
||||||
@@ -424,19 +498,32 @@ 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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.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/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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}.${ARCH}.rpm \
|
||||||
|
&& alien \
|
||||||
|
-v \
|
||||||
|
--target=$( dpkg --print-architecture ) \
|
||||||
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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,6 +543,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
|
||||||
@@ -475,6 +573,75 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zstd --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
|
||||||
|
&& cd /tmp/zstd \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Default: Install command
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-zstd --with-libzstd \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable zstd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
||||||
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if php -m | grep -q "igbinary"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lz4"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "lzf"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "msgpack"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
if php -m | grep -q "zstd"; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& 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: phalcon --------------------
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -482,7 +649,13 @@ RUN set -eux \
|
|||||||
&& 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 $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags \
|
||||||
|
| sort -V \
|
||||||
|
| sed 's/^.*tags\///g' \
|
||||||
|
| grep -E '^v[.0-9]+$' \
|
||||||
|
| tail -1 \
|
||||||
|
) \
|
||||||
|
\
|
||||||
# Custom: Install command
|
# Custom: Install command
|
||||||
&& cd build && ./install \
|
&& cd build && ./install \
|
||||||
# Enabling
|
# Enabling
|
||||||
@@ -498,17 +671,6 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: redis --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Generic
|
|
||||||
# Type: PECL extension
|
|
||||||
# Default: Pecl command
|
|
||||||
&& pecl install redis \
|
|
||||||
# Enabling
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: rdkafka --------------------
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
@@ -530,18 +692,18 @@ RUN set -eux \
|
|||||||
|
|
||||||
# -------------------- Installing PHP Extension: snmp --------------------
|
# -------------------- Installing PHP Extension: snmp --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Installation
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure snmp --with-snmp \
|
||||||
&& 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: Version specific
|
# Installation: Generic
|
||||||
# Type: Built-in extension
|
# Type: Built-in extension
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
&& true
|
&& true
|
||||||
|
|
||||||
@@ -576,12 +738,22 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: swoole --------------------
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --with-zip \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: swoole --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Custom: Pecl command
|
# Default: Pecl command
|
||||||
&& yes yes | pecl install swoole \
|
&& pecl install swoole-4.8.12 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable swoole \
|
&& docker-php-ext-enable swoole \
|
||||||
&& true
|
&& true
|
||||||
@@ -622,30 +794,58 @@ RUN set -eux \
|
|||||||
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# 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: xdebug --------------------
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Generic
|
# Installation: Generic
|
||||||
# Type: PECL extension
|
# Type: PECL extension
|
||||||
# Default: Pecl command
|
# Default: Pecl command
|
||||||
&& pecl install xdebug \
|
&& 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 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xdebug-3.1.6 \
|
||||||
# Enabling
|
# Enabling
|
||||||
&& docker-php-ext-enable xdebug \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& 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: xmlrpc --------------------
|
# -------------------- Installing PHP Extension: xmlrpc --------------------
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# Installation: Version specific
|
# Installation: Version specific
|
||||||
@@ -676,22 +876,11 @@ RUN set -eux \
|
|||||||
&& true
|
&& true
|
||||||
|
|
||||||
|
|
||||||
# -------------------- Installing PHP Extension: zip --------------------
|
|
||||||
RUN set -eux \
|
|
||||||
# Installation: Version specific
|
|
||||||
# Type: Built-in extension
|
|
||||||
# Custom: configure command
|
|
||||||
&& docker-php-ext-configure zip --with-zip \
|
|
||||||
# Installation
|
|
||||||
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
||||||
&& true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix php.ini settings for enabled extensions
|
# Fix php.ini settings for enabled extensions
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
||||||
|
|
||||||
# Fix oracle dir for images that don't have oci installed
|
# Fix oracle dir for images that don't have oci installed
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
@@ -699,13 +888,13 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.4-base as final
|
FROM devilbox/php-fpm:7.4-base as final
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -729,31 +918,26 @@ 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 \
|
ghostscript \
|
||||||
libaio1 \
|
libaio1 \
|
||||||
libaspell15 \
|
libaspell15 \
|
||||||
|
libc-ares2 \
|
||||||
libc-client2007e \
|
libc-client2007e \
|
||||||
libenchant1c2a \
|
libevent-2.1-7 \
|
||||||
libfbclient2 \
|
libfbclient2 \
|
||||||
libffi6 \
|
libffi7 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
libicu63 \
|
libicu67 \
|
||||||
libjpeg62-turbo \
|
libjpeg62-turbo \
|
||||||
|
liblz4-1 \
|
||||||
|
liblzf1 \
|
||||||
libmagickwand-6.q16-6 \
|
libmagickwand-6.q16-6 \
|
||||||
|
libmariadbd19 \
|
||||||
libmcrypt4 \
|
libmcrypt4 \
|
||||||
libmemcachedutil2 \
|
libmemcachedutil2 \
|
||||||
libnghttp2-14 \
|
libnghttp2-14 \
|
||||||
@@ -764,14 +948,17 @@ RUN set -eux \
|
|||||||
libssh2-1 \
|
libssh2-1 \
|
||||||
libsybdb5 \
|
libsybdb5 \
|
||||||
libtidy5deb1 \
|
libtidy5deb1 \
|
||||||
libvpx5 \
|
libvips42 \
|
||||||
libwebp-dev \
|
libvpx6 \
|
||||||
libwebp6 \
|
libwebp6 \
|
||||||
libxpm4 \
|
libxpm4 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
libzip4 \
|
libzip4 \
|
||||||
|
libzstd1 \
|
||||||
snmp \
|
snmp \
|
||||||
|
unixodbc \
|
||||||
|
uuid \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
@@ -779,7 +966,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
|
||||||
###
|
###
|
||||||
RUN set -eux \
|
RUN set -eux \
|
||||||
# ---------- imagick ----------
|
# ---------- imagick ----------
|
||||||
@@ -794,7 +992,14 @@ RUN set -eux \
|
|||||||
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||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 )" \
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
||||||
|
&& ORACLE_HREF="$( \
|
||||||
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
||||||
|
| 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) \
|
||||||
@@ -835,12 +1040,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^ctype$' \
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
&& php -m | grep -oiE '^curl$' \
|
&& php -m | grep -oiE '^curl$' \
|
||||||
&& php-fpm -m | grep -oiE '^curl$' \
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^date$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^date$' \
|
||||||
&& php -m | grep -oiE '^dba$' \
|
&& php -m | grep -oiE '^dba$' \
|
||||||
&& php-fpm -m | grep -oiE '^dba$' \
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
&& 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 -m | grep -oiE '^mbstring$' \
|
||||||
&& php-fpm -m | grep -oiE '^enchant$' \
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
&& 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$' \
|
||||||
@@ -873,16 +1082,16 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^json$' \
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
&& php -m | grep -oiE '^ldap$' \
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
&& php-fpm -m | grep -oiE '^ldap$' \
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
&& php -m | grep -oiE '^libxml$' \
|
&& php -m | grep -oiE '^lz4$' \
|
||||||
&& php-fpm -m | grep -oiE '^libxml$' \
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
||||||
&& php -m | grep -oiE '^mbstring$' \
|
&& php -m | grep -oiE '^lzf$' \
|
||||||
&& php-fpm -m | grep -oiE '^mbstring$' \
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
||||||
&& php -m | grep -oiE '^mcrypt$' \
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
&& php -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
||||||
&& php -m | grep -oiE '^memcache$' \
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcache$' \
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
&& php -m | grep -oiE '^memcached$' \
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
&& php-fpm -m | grep -oiE '^memcached$' \
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
&& php -m | grep -oiE '^mongodb$' \
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
@@ -891,6 +1100,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 '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
&& php -m | grep -oiE '^oauth$' \
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
&& php-fpm -m | grep -oiE '^oauth$' \
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
&& php -m | grep -oiE '^oci8$' \
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
@@ -901,8 +1112,6 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^openssl$' \
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
&& php -m | grep -oiE '^pcntl$' \
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
&& php-fpm -m | grep -oiE '^pcntl$' \
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
&& php -m | grep -oiE '^pcre$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
||||||
&& php -m | grep -oiE '^pdo$' \
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo$' \
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
@@ -917,10 +1126,20 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
&& php -m | grep -oiE '^pdo_sqlite$' \
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
|
||||||
&& php -m | grep -oiE '^pgsql$' \
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
&& php-fpm -m | grep -oiE '^pgsql$' \
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
&& php -m | grep -oiE '^psr$' \
|
&& php -m | grep -oiE '^psr$' \
|
||||||
&& php-fpm -m | grep -oiE '^psr$' \
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& php -m | grep -oiE '^zstd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
&& 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,13 +1148,11 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^posix$' \
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
&& php -m | grep -oiE '^pspell$' \
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
&& php-fpm -m | grep -oiE '^pspell$' \
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
&& php -m | grep -oiE '^readline$' \
|
|
||||||
&& php -m | grep -oiE '^redis$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^redis$' \
|
|
||||||
&& php -m | grep -oiE '^reflection$' \
|
|
||||||
&& php-fpm -m | grep -oiE '^reflection$' \
|
|
||||||
&& php -m | grep -oiE '^rdkafka$' \
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^reflection$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^reflection$' \
|
||||||
&& php -m | grep -oiE '^session$' \
|
&& php -m | grep -oiE '^session$' \
|
||||||
&& php-fpm -m | grep -oiE '^session$' \
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
&& php -m | grep -oiE '^shmop$' \
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
@@ -956,6 +1173,10 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^spl$' \
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
&& php -m | grep -oiE '^ssh2$' \
|
&& php -m | grep -oiE '^ssh2$' \
|
||||||
&& php-fpm -m | grep -oiE '^ssh2$' \
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
&& php -m | grep -oiE '^swoole$' \
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
&& php-fpm -m | grep -oiE '^swoole$' \
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
&& php -m | grep -oiE '^sysvmsg$' \
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
@@ -970,10 +1191,14 @@ 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 '^xlswriter$' \
|
||||||
&& php-fpm -m | grep -oiE '^xml$' \
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
&& 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 -m | grep -oiE '^xmlrpc$' \
|
||||||
@@ -984,11 +1209,18 @@ RUN set -eux \
|
|||||||
&& php-fpm -m | grep -oiE '^xsl$' \
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
&& php -m | grep -oiE '^yaml$' \
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
&& php-fpm -m | grep -oiE '^yaml$' \
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
&& php -m | grep -oiE '^zip$' \
|
&& php -m | grep -oiE '^zlib$' \
|
||||||
&& php-fpm -m | grep -oiE '^zip$' \
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
||||||
&& 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
|
||||||
###
|
###
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
1181
Dockerfiles/mods/Dockerfile-8.1
Normal file
1181
Dockerfiles/mods/Dockerfile-8.1
Normal file
File diff suppressed because it is too large
Load Diff
1122
Dockerfiles/mods/Dockerfile-8.2
Normal file
1122
Dockerfiles/mods/Dockerfile-8.2
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.2-mods
|
FROM devilbox/php-fpm:5.2-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.3-mods
|
FROM devilbox/php-fpm:5.3-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.4-mods
|
FROM devilbox/php-fpm:5.4-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.5-mods
|
FROM devilbox/php-fpm:5.5-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:5.6-mods
|
FROM devilbox/php-fpm:5.6-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.0-mods
|
FROM devilbox/php-fpm:7.0-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.1-mods
|
FROM devilbox/php-fpm:7.1-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.2-mods
|
FROM devilbox/php-fpm:7.2-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.3-mods
|
FROM devilbox/php-fpm:7.3-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:7.4-mods
|
FROM devilbox/php-fpm:7.4-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
FROM devilbox/php-fpm:8.0-mods
|
FROM devilbox/php-fpm:8.0-mods
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
@@ -26,9 +27,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 +36,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)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
102
Dockerfiles/prod/Dockerfile-8.1
Normal file
102
Dockerfiles/prod/Dockerfile-8.1
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./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"]
|
||||||
102
Dockerfiles/prod/Dockerfile-8.2
Normal file
102
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./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"]
|
||||||
@@ -88,6 +88,7 @@ set_postfix() {
|
|||||||
|
|
||||||
# Postfix catch-all
|
# Postfix catch-all
|
||||||
if [ "${enable_mail}" = "2" ]; then
|
if [ "${enable_mail}" = "2" ]; then
|
||||||
|
run "postconf -e 'myhostname=localhost'" "${debug}"
|
||||||
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
||||||
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
||||||
run "newaliases" "${debug}"
|
run "newaliases" "${debug}"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ disable_modules() {
|
|||||||
mod="$( echo "${mod}" | xargs )" # trim
|
mod="$( echo "${mod}" | xargs )" # trim
|
||||||
|
|
||||||
# Find all config files that enable that module
|
# Find all config files that enable that module
|
||||||
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}\.so" "${cfg_path}" || true )"
|
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}(\\.so)?\$" "${cfg_path}" || true )"
|
||||||
|
|
||||||
if [ -n "${files}" ]; then
|
if [ -n "${files}" ]; then
|
||||||
while read -r f; do
|
while read -r f; do
|
||||||
|
|||||||
@@ -29,15 +29,15 @@ 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
|
||||||
|
|||||||
622
Dockerfiles/slim/Dockerfile-5.2
Normal file
622
Dockerfiles/slim/Dockerfile-5.2
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.2-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
|
&& echo "deb [trusted=yes] http://archive.debian.org/debian jessie-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 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.2-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^5.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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="5.2-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
622
Dockerfiles/slim/Dockerfile-5.3
Normal file
622
Dockerfiles/slim/Dockerfile-5.3
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.3-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
|
&& echo "deb [trusted=yes] http://archive.debian.org/debian jessie-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 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.3-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.3.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.3.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^5.3' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="5.3-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
622
Dockerfiles/slim/Dockerfile-5.4
Normal file
622
Dockerfiles/slim/Dockerfile-5.4
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.4-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
|
&& echo "deb [trusted=yes] http://archive.debian.org/debian jessie-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 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.4-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.4.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.4.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^5.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="5.4-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
622
Dockerfiles/slim/Dockerfile-5.5
Normal file
622
Dockerfiles/slim/Dockerfile-5.5
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.5-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
|
&& echo "deb [trusted=yes] http://archive.debian.org/debian jessie-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 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.5' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.5-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.5.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.5.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.5' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^5.5' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="5.5-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
626
Dockerfiles/slim/Dockerfile-5.6
Normal file
626
Dockerfiles/slim/Dockerfile-5.6
Normal file
@@ -0,0 +1,626 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.6-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.6' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:5.6-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.6.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.6.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '5.6' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^5.6' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="5.6-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
626
Dockerfiles/slim/Dockerfile-7.0
Normal file
626
Dockerfiles/slim/Dockerfile-7.0
Normal file
@@ -0,0 +1,626 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:7.0-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mysql-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '7.0' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:7.0-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-7.0.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-7.0.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '7.0' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^7.0' \
|
||||||
|
&& /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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="7.0-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
620
Dockerfiles/slim/Dockerfile-7.1
Normal file
620
Dockerfiles/slim/Dockerfile-7.1
Normal file
@@ -0,0 +1,620 @@
|
|||||||
|
# vi: ft=dockerfile
|
||||||
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-slim.j2 instead.
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 1/4: Devilbox slim image (BASE BUILDER)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Installs all cli tools required to run Devilbox and its intranet
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:7.1-prod as devilbox-slim-base-builder
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install apt 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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add apt repositories
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& 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 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install build_dep
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
libsnappy-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
###
|
||||||
|
### Add common tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
mariadb-client \
|
||||||
|
redis-tools \
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Devilbox required cli tools from group_vars (slim.yml)
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
blackfire-agent \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \
|
||||||
|
&& if [ "${DEB_HOST_ARCH}" = "amd64" ] || [ "${DEB_HOST_ARCH}" = "arm64" ]; then \
|
||||||
|
MHSENDMAIL_URL="https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_${DEB_HOST_ARCH}" \
|
||||||
|
&& curl -sS -L --fail "${MHSENDMAIL_URL}" > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
else \
|
||||||
|
printf '%s\n%s\n%s\n' '#!/bin/sh' 'echo "Not available for this platform."' 'exit 1' > /usr/local/bin/mhsendmail \
|
||||||
|
&& chmod +x /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '7.1' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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/* \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare required shared libraries for copying (keep symlinks)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& LIB_GNU_DIR="/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
&& USR_LIB_DIR="/usr/lib" \
|
||||||
|
&& USR_LIB_GNU_DIR="/usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
|
||||||
|
\
|
||||||
|
&& mkdir /tmp/lib-gnu \
|
||||||
|
&& mkdir /tmp/usr-lib \
|
||||||
|
&& mkdir /tmp/usr-lib-gnu \
|
||||||
|
\
|
||||||
|
&& LIB_GNU="libreadline" \
|
||||||
|
&& USR_LIB="libsnappy libtcmalloc libv8" \
|
||||||
|
&& USR_LIB_GNU="liblua libpq libpcrecpp libboost libjemalloc libunwind libhiredis libedit libyaml-cpp libstemmer libsnappy libpcap libbsd liblzf" \
|
||||||
|
\
|
||||||
|
&& for lib in ${LIB_GNU}; do \
|
||||||
|
if ls -1 "${LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${LIB_GNU_DIR}/${lib}* /tmp/lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB}; do \
|
||||||
|
if ls -1 "${USR_LIB_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_DIR}/${lib}* /tmp/usr-lib/; \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
&& for lib in ${USR_LIB_GNU}; do \
|
||||||
|
if ls -1 "${USR_LIB_GNU_DIR}/" | grep "^${lib}" >/dev/null; then \
|
||||||
|
echo "Coping '${lib}' from: ${USR_LIB_GNU_DIR}"; \
|
||||||
|
cp -r ${USR_LIB_GNU_DIR}/${lib}* /tmp/usr-lib-gnu/; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
###
|
||||||
|
### Fix expected PostgreSQL directories
|
||||||
|
###
|
||||||
|
### This might not exist on arm64 as software was not available,
|
||||||
|
### but they are still needed to be present, so we can copy them.
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ ! -d "/usr/lib/postgresql" ]; then \
|
||||||
|
mkdir "/usr/lib/postgresql"; \
|
||||||
|
fi \
|
||||||
|
&& if [ ! -d "/usr/share/postgresql-common" ]; then \
|
||||||
|
mkdir "/usr/share/postgresql-common"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare MongoDB binaries for copying.
|
||||||
|
###
|
||||||
|
### They might not be available on all architectures (e.g.: arm64).
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir /tmp/mongo \
|
||||||
|
&& if ls -1 "/usr/bin/" | grep "^mongo" >/dev/null; then \
|
||||||
|
cp -r /usr/bin/mongo* /tmp/mongo/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Strip debugging information to smallen filesize
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& STRIP_USR_BINS="blackfire mongo mysql redis sqlite" \
|
||||||
|
&& STRIP_DIRS="/usr/lib/postgresql/ /usr/share/postgresql-common/ /tmp" \
|
||||||
|
\
|
||||||
|
&& for bin in ${STRIP_USR_BINS}; do \
|
||||||
|
( \
|
||||||
|
find /usr/bin/ -name "${bin}"* -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& for dir in ${STRIP_DIRS}; do \
|
||||||
|
( \
|
||||||
|
find ${dir} -type f -print0 \
|
||||||
|
| xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) sh -c \
|
||||||
|
'if [ -f "${1}" ]; then echo "Strip: ${1}"; strip --strip-all -p "${1}" 2>/dev/null || true; fi' -- \
|
||||||
|
) \
|
||||||
|
done \
|
||||||
|
\
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mhsendmail 2>/dev/null || true \
|
||||||
|
&& strip --strip-all -p /usr/local/bin/mysqldump-secure 2>/dev/null || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 2/4: Devilbox slim image (BASE)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copies all cli tools required to run Devilbox and its intranet into a clean image
|
||||||
|
###
|
||||||
|
FROM devilbox/php-fpm:7.1-prod as devilbox-slim-base
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install tools type: apt
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
# ---------- type: apt ----------
|
||||||
|
dnsutils \
|
||||||
|
iputils-ping \
|
||||||
|
netcat-openbsd \
|
||||||
|
sudo \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy shared libraries (required by MongoDB, MySQL, PostgreSQL and Redis)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/lib-gnu/ /lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib-gnu/ /usr/lib/${ARCH}-linux-gnu/
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/usr-lib/ /usr/lib/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy system files
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/group /etc/group
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/shadow /etc/shadow
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Blackfire
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/blackfire /etc/blackfire
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/default/blackfire-agent /etc/default/blackfire-agent
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/blackfire* /usr/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/blackfire /var/log/blackfire
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mhsendmail
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mhsendmail /usr/local/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MongoDB client (if exists)
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /tmp/mongo/ /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy MysQL Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/mysql* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy mysqldump-secure
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/local/bin/mysqldump-secure /usr/local/bin/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.conf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /etc/mysqldump-secure.cnf /etc/
|
||||||
|
COPY --from=devilbox-slim-base-builder /var/log/mysqldump-secure.log /var/log/
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy PostgreSQL
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/lib/postgresql /usr/lib/postgresql
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/postgresql-common /usr/share/postgresql-common
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/share/perl5 /usr/share/perl5
|
||||||
|
|
||||||
|
###
|
||||||
|
### Create PostgreSQL symlinks
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f "/usr/share/postgresql-common/pg_wrapper" ]; then \
|
||||||
|
ln -s ../share/postgresql-common/pg_wrapper /usr/bin/clusterdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createlang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/createuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/droplang \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/dropuser \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_basebackup \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dump \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_dumpall \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_isready \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivewal \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_receivexlog \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_recvlogical \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pg_restore \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/psql \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/reindexdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumdb \
|
||||||
|
&& ln -s ../share/postgresql-common/pg_wrapper /usr/bin/vacuumlo; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy Redis Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/redis* /usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy SQLite Client
|
||||||
|
###
|
||||||
|
COPY --from=devilbox-slim-base-builder /usr/bin/sqlite* /usr/bin/
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD PHP configuration files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-7.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-7.1.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
###
|
||||||
|
### ADD Devilbox configuration files
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& { \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Ensure /usr/local(s)?bin is in PATH"; \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox main bash config"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo; \
|
||||||
|
echo "# [Devilbox] Source Devilbox custom configs"; \
|
||||||
|
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}/.bashrc /root/.bashrc \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 3/4: Devilbox slim image (BASE TEST)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Test all Devilbox cli utils if copying was successful
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as devilbox-slim-base-test
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysql --version \
|
||||||
|
&& redis-cli --version \
|
||||||
|
&& sqlite3 --version
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if available tools slim
|
||||||
|
###
|
||||||
|
|
||||||
|
# -------------------- dig --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& dig -v 2>&1 | grep -E '[0-9]\.[0-9]' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- netcat --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& nc -h 2>&1 | grep netcat \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- ping --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& ping -V | grep ^ping \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- sudo --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& sudo --version | grep -E 'version [0-9]+\.[0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- blackfire --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& blackfire version \
|
||||||
|
&& blackfire-agent -v \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mhsendmail -h 2>&1 | grep 'Usage' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& if echo '7.1' | grep -E '^(5.2|5.3|5.4|5.5)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongo --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
&& 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 \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods (for testing).
|
||||||
|
###
|
||||||
|
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
|
||||||
|
|
||||||
|
###
|
||||||
|
### Check if PHP still works
|
||||||
|
###
|
||||||
|
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 '^7.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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
###
|
||||||
|
### Stage 4/4: Devilbox slim image (FINAL)
|
||||||
|
###
|
||||||
|
########################################################################################################################
|
||||||
|
########################################################################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Prepare final base image (STAGE: slim)
|
||||||
|
###
|
||||||
|
FROM devilbox-slim-base as slim
|
||||||
|
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"="7.1-slim"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-slim"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-slim"
|
||||||
|
|
||||||
|
###
|
||||||
|
### 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"]
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user