mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-11 11:31:16 +00:00
Compare commits
689 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
9e247307ad | ||
|
|
b095b04ec3 | ||
|
|
5684fac8a2 | ||
|
|
eb6799ad29 | ||
|
|
1c53a0fd68 | ||
|
|
fabc29299c | ||
|
|
83b4cb6b43 | ||
|
|
dc438b0aad | ||
|
|
c8bd21ebbe | ||
|
|
b2476e3851 | ||
|
|
c06a3d2237 | ||
|
|
ce4f022c70 | ||
|
|
9c5326dc0f | ||
|
|
2701a524b9 | ||
|
|
acea0ac0fe | ||
|
|
3153b329f1 | ||
|
|
10285279c7 | ||
|
|
0a04342e46 | ||
|
|
dad684bfd1 | ||
|
|
9fabcf3b71 | ||
|
|
0669d92289 | ||
|
|
6d2053878a | ||
|
|
c3f46d3706 | ||
|
|
de9642c2b5 | ||
|
|
6fa341748b | ||
|
|
5f719f60ce | ||
|
|
ffc8df1906 | ||
|
|
186bf71519 | ||
|
|
422e559ee3 | ||
|
|
eb85e3e288 | ||
|
|
5ed5dd2503 | ||
|
|
1225d564a7 | ||
|
|
a4102e3d7f | ||
|
|
982dd44701 | ||
|
|
bc851cca0f | ||
|
|
ef5b2ed58c | ||
|
|
cbd4f58876 | ||
|
|
fd6550627d | ||
|
|
af150ba371 | ||
|
|
47800a7ede | ||
|
|
d977d941ac | ||
|
|
2ae551e5a5 | ||
|
|
37747d392a | ||
|
|
0a5aadd2a2 | ||
|
|
64c41f7786 | ||
|
|
8bef4c7167 | ||
|
|
58ecd35153 | ||
|
|
55a1333d58 | ||
|
|
fa1ec623d7 | ||
|
|
faa10b9512 | ||
|
|
fc6df6bdaf | ||
|
|
649f667f45 | ||
|
|
0cbd58141d | ||
|
|
965db7f0d5 | ||
|
|
172baf9743 | ||
|
|
fc5e5e21e5 | ||
|
|
529a33f1a0 | ||
|
|
cc77461311 | ||
|
|
f04a5ec693 | ||
|
|
90495fab70 | ||
|
|
f8f485b0bb | ||
|
|
3ad0330bca | ||
|
|
2587886b24 | ||
|
|
3ce6ed507b | ||
|
|
f05301572d | ||
|
|
40d76f355f | ||
|
|
9c1e49b814 | ||
|
|
c1aa814206 | ||
|
|
a382745a2f | ||
|
|
d9d6f2d157 | ||
|
|
9c82fb08c3 | ||
|
|
91733db9e9 | ||
|
|
41fec62672 | ||
|
|
3e9e00e0c2 | ||
|
|
d4a16ba3b3 | ||
|
|
fb7a3e8bff | ||
|
|
dc7336fa3d | ||
|
|
0750ec9339 | ||
|
|
c360bec703 | ||
|
|
1ec8a494e4 | ||
|
|
883a897420 | ||
|
|
7f018000be | ||
|
|
7f3a6f3e64 | ||
|
|
83124e8632 | ||
|
|
806b408878 | ||
|
|
3d15aea68b | ||
|
|
db7c4e6334 | ||
|
|
2c6e013fad | ||
|
|
b35f3a822c | ||
|
|
f20932ce74 | ||
|
|
78d39e57f0 | ||
|
|
6b666d029b | ||
|
|
85b743c822 | ||
|
|
2643b28775 | ||
|
|
bbe1b43474 | ||
|
|
83f57430e5 | ||
|
|
696faf598d | ||
|
|
a0a0738205 | ||
|
|
020d778fca | ||
|
|
cd7424d1f6 | ||
|
|
5ef91da97f | ||
|
|
f59dd5bf6c | ||
|
|
bc01b396a1 | ||
|
|
dd78ed0b71 | ||
|
|
ec7e1cb622 | ||
|
|
91741aaf7f | ||
|
|
87234a6f46 | ||
|
|
a6236b19c7 | ||
|
|
67017e494e | ||
|
|
31864f8335 | ||
|
|
7585081644 | ||
|
|
3e8b4856d1 | ||
|
|
46d1c48104 | ||
|
|
47d2d1f9f5 | ||
|
|
019c3b82d8 | ||
|
|
1817f84301 | ||
|
|
3fd1652455 | ||
|
|
e75b7cb54c | ||
|
|
d68b8dcff0 | ||
|
|
5bd9466995 | ||
|
|
2b53dcab7a | ||
|
|
d286467a6f | ||
|
|
d87857e598 | ||
|
|
a9c8d4fbbe | ||
|
|
be4492795b | ||
|
|
5a10077fe2 | ||
|
|
3075f2afca | ||
|
|
36355c3d60 | ||
|
|
80f8557962 | ||
|
|
3883103a41 | ||
|
|
687a660baa | ||
|
|
6f8f5cc1ea | ||
|
|
f602092471 | ||
|
|
bcbc8e2e45 | ||
|
|
4b21c70b8f | ||
|
|
b943b30b01 | ||
|
|
2df2b8c7eb | ||
|
|
2ab9995e99 | ||
|
|
1e9cb5bcb9 | ||
|
|
bdb61b9c00 | ||
|
|
47e221e210 | ||
|
|
173fd463d3 | ||
|
|
e4dd462ef2 | ||
|
|
4b40a0d932 | ||
|
|
1126319f3d | ||
|
|
56a5cfeb5e | ||
|
|
391502b9eb | ||
|
|
b1c8c8b107 | ||
|
|
81bdfb1026 | ||
|
|
f69a96e16f | ||
|
|
e3ddad4e50 | ||
|
|
dfc3481773 | ||
|
|
6baf6ace61 | ||
|
|
92aed9e7a8 | ||
|
|
e3e0d760e9 | ||
|
|
8b0fdc6cca | ||
|
|
554e979d0e | ||
|
|
ceabd15ee0 | ||
|
|
0e813e6070 | ||
|
|
04ad135df5 | ||
|
|
481d095b39 | ||
|
|
8e907edbdb | ||
|
|
36d9af44e9 | ||
|
|
09b60b78fb | ||
|
|
c57c1eab02 | ||
|
|
ff7b52a025 | ||
|
|
244605f9b5 | ||
|
|
926df09109 | ||
|
|
e10de3dc35 | ||
|
|
812eba69bc | ||
|
|
d1a541c298 | ||
|
|
362ed7b3c5 | ||
|
|
f1211dc7eb | ||
|
|
cf49904400 | ||
|
|
711e52e46c | ||
|
|
3faa0a8245 | ||
|
|
8482667c00 | ||
|
|
409cd5afc9 | ||
|
|
599fd786d7 | ||
|
|
90ecbd62a3 | ||
|
|
1201ee4135 | ||
|
|
a128aa33c0 | ||
|
|
847ea4e6a1 | ||
|
|
1be3fa70f2 | ||
|
|
eefda31e3e | ||
|
|
b1d4c97db4 | ||
|
|
6cd2ef4a1b | ||
|
|
622af7851a | ||
|
|
b2c1b8e453 | ||
|
|
4a1efb6b74 | ||
|
|
e843265575 | ||
|
|
ff0b86c37c | ||
|
|
166eff3347 | ||
|
|
d309c38a41 | ||
|
|
9fedd002e8 | ||
|
|
61352d2451 | ||
|
|
628720af0e | ||
|
|
af427a7e0a | ||
|
|
5b72766680 | ||
|
|
ec82710b48 | ||
|
|
8f53730254 | ||
|
|
cb9826eff5 | ||
|
|
452269c1b0 | ||
|
|
3926ee7c7d | ||
|
|
f376fd6766 | ||
|
|
6e0db69047 | ||
|
|
a645486c84 | ||
|
|
f0bc16ef5f | ||
|
|
bd3585596f | ||
|
|
54a8258bbc | ||
|
|
33bb1f5213 | ||
|
|
16e65379d9 | ||
|
|
333297f8d7 | ||
|
|
ab68fd47a2 | ||
|
|
820c08490a | ||
|
|
ee6917b3ef | ||
|
|
67d056811c | ||
|
|
1728629048 | ||
|
|
dfaef4bd2c | ||
|
|
0aa767e8c9 | ||
|
|
651ef659b6 | ||
|
|
e55469f7c1 | ||
|
|
85991d2e3f | ||
|
|
70764c268c | ||
|
|
023ad2af60 | ||
|
|
4f1a054f8c | ||
|
|
3f08a762f5 | ||
|
|
689703a9b9 | ||
|
|
2f953cd062 | ||
|
|
4fa6afe4e3 | ||
|
|
66a5ce778a | ||
|
|
adc5f28c4d | ||
|
|
1a5600ff86 | ||
|
|
a4bcf2b091 | ||
|
|
152a92386e | ||
|
|
66fa1c195e | ||
|
|
87bc0aa085 | ||
|
|
faff334e14 | ||
|
|
bbe3785091 | ||
|
|
3378d7a10b | ||
|
|
11ef4c6f3f | ||
|
|
f90a3532fc | ||
|
|
59ecc5dc11 | ||
|
|
a2d43259a4 | ||
|
|
2947a465f8 | ||
|
|
9f280dd5b1 | ||
|
|
68f11781f1 | ||
|
|
8d2eee37f1 | ||
|
|
3a29a77925 | ||
|
|
79b9ed1308 | ||
|
|
dc20fbea6e | ||
|
|
77716db302 | ||
|
|
62cc38d4af | ||
|
|
68615b22be | ||
|
|
1740392d3c | ||
|
|
427cc3fff6 | ||
|
|
4d925540b7 | ||
|
|
be439edfb3 | ||
|
|
867c1121c9 | ||
|
|
db397e5ef5 |
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,12 +1,18 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
{{ edit_comment_base }}
|
||||
{% if php_version == 5.2 %}
|
||||
FROM devilbox/php-fpm-5.2
|
||||
{% elif php_version == 5.3 %}
|
||||
FROM devilbox/php-fpm-5.3
|
||||
{% elif php_version == 7.3 %}
|
||||
FROM php:{{ php_version }}-rc-fpm
|
||||
{% elif php_version == 7.4 %}
|
||||
FROM devilbox/php-fpm-7.4
|
||||
{% 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 %}
|
||||
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 %}
|
||||
FROM php:{{ php_version }}-fpm
|
||||
{% endif %}
|
||||
@@ -16,12 +22,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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 }}-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -37,7 +51,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -45,16 +59,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -77,7 +93,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -104,4 +120,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
475
.ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
475
.ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
@@ -0,0 +1,475 @@
|
||||
{{ edit_comment_mods }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base as builder
|
||||
|
||||
|
||||
{#
|
||||
###################################################################################################
|
||||
Loop over enabled build dependencies and gather build dependencies
|
||||
###################################################################################################
|
||||
#}
|
||||
{%- set build_deps = [] -%}
|
||||
{%- for ext in extensions_enabled -%}
|
||||
{#- Not disabled AND not already available by default -#}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']))
|
||||
and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) -%}
|
||||
{#- Version specific build dependency available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] -%}
|
||||
{%- for build_dep in extensions_available[ext][php_version]['build_dep'] -%}
|
||||
{#- Append build dependencies to our array -#}
|
||||
{{- build_deps.append(build_dep) -}}
|
||||
{%- endfor -%}
|
||||
{#- Generic build dependency available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] -%}
|
||||
{%- for build_dep in extensions_available[ext]['all']['build_dep'] -%}
|
||||
{#- Append build dependencies to our array -#}
|
||||
{{- build_deps.append(build_dep) -}}
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
###
|
||||
### Install
|
||||
###
|
||||
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 %}
|
||||
# Build tools
|
||||
autoconf \
|
||||
bison \
|
||||
bisonc++ \
|
||||
ca-certificates \
|
||||
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)
|
||||
RUN set -eux \
|
||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini
|
||||
|
||||
|
||||
###
|
||||
### Install and enable PHP modules
|
||||
###
|
||||
# Enable ffi if it exists
|
||||
RUN set -eux \
|
||||
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \
|
||||
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||
fi
|
||||
|
||||
{# Loop over enabled extensions #}
|
||||
{% for ext in extensions_enabled %}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Not disabled AND not already enabled
|
||||
###############################################################################################
|
||||
-#}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
# -------------------- Installing PHP Extension: {{ ext }} --------------------
|
||||
RUN set -eux \
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# PRE COMMAND
|
||||
# --------------------------------------------------------------------------------
|
||||
-#}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Version specific pre-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
|
||||
{{- "\n\t" }}# Generic pre-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# INSTALLATION (VERSION SPECIFIC)
|
||||
# --------------------------------------------------------------------------------
|
||||
#}
|
||||
{%- if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Installation: Version specific
|
||||
{#-
|
||||
# -------------------- 1.) Builtin --------------------
|
||||
-#}
|
||||
{%- if extensions_available[ext][php_version]['type'] == 'builtin' -%}
|
||||
{{- "\n\t" }}# Type: Built-in extension
|
||||
{%- if 'configure' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: configure command
|
||||
{{- "\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 -%}
|
||||
{{- "\n\t" }}# Installation
|
||||
{{- "\n\t" }}&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) PECL --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'pecl' -%}
|
||||
{{- "\n\t" }}# Type: PECL extension
|
||||
{%- if 'command' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Pecl command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Pecl command
|
||||
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 3.) GIT --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'git' -%}
|
||||
{{- "\n\t" }}# Type: GIT extension
|
||||
{{- "\n\t" }}&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
|
||||
{%- if 'git_ref' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Branch
|
||||
{{- "\n\t" }}&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
|
||||
{%- endif -%}
|
||||
{%- if 'command' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Install command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Install command
|
||||
{{- "\n\t" }}&& phpize \
|
||||
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
|
||||
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
{{- "\n\t" }}&& make install \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 4.) CUSTOM --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'custom' -%}
|
||||
{{- "\n\t" }}# Type: Custom extension
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# INSTALLATION (GENERIC)
|
||||
# --------------------------------------------------------------------------------
|
||||
#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Installation: Generic
|
||||
{#-
|
||||
# -------------------- 1.) Builtin --------------------
|
||||
-#}
|
||||
{%- if extensions_available[ext]['all']['type'] == 'builtin' -%}
|
||||
{{- "\n\t" }}# Type: Built-in extension
|
||||
{%- if 'configure' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: configure command
|
||||
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) PECL --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'pecl' -%}
|
||||
{{- "\n\t" }}# Type: PECL extension
|
||||
{%- if 'command' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Pecl command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Pecl command
|
||||
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) GIT --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'git' -%}
|
||||
{{- "\n\t" }}# Type: GIT extension
|
||||
{{- "\n\t" }}&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
|
||||
{%- if 'git_ref' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Branch
|
||||
{{- "\n\t" }}&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
|
||||
{%- endif -%}
|
||||
{%- if 'command' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Install command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Install command
|
||||
{{- "\n\t" }}&& phpize \
|
||||
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
|
||||
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
{{- "\n\t" }}&& make install \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 4.) CUSTOM --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'custom' -%}
|
||||
{{- "\n\t" }}# Type: Custom extension
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# POST COMMAND
|
||||
# --------------------------------------------------------------------------------
|
||||
-#}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Version specific post-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['post'] }} \
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
|
||||
{{- "\n\t" }}# Generic post-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['post'] }} \
|
||||
{%- endif -%}
|
||||
{#- End of: Not disabled AND not already enabled -#}
|
||||
{%- endif -%}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Ensure modules that are not disabled have an appropriate ini directive and are loaded
|
||||
###############################################################################################
|
||||
-#}
|
||||
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
|
||||
{%- if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Activate: Version specific extension
|
||||
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
|
||||
{{- "\n\t" }} echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
|
||||
{{- "\n\t" }}fi \
|
||||
{%- elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Activate: Generic extension
|
||||
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
|
||||
{{- "\n\t" }} echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
|
||||
{{- "\n\t" }}fi \
|
||||
{%- endif -%}
|
||||
{%- endif %}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Test extensions
|
||||
###############################################################################################
|
||||
-#}
|
||||
{#- Not disabled #}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
{%- if build_fail_fast -%}
|
||||
{{- "\n\t" }}# ---- Test extension ----
|
||||
{{- "\n\t" }}&& /usr/local/sbin/php-fpm --test \
|
||||
{{- "\n\t" }}\
|
||||
{{- "\n\t" }}&& (php -v 2>&1 1>/dev/null || true) \
|
||||
{{- "\n\t" }}&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}\
|
||||
{{- "\n\t" }}&& (php-fpm -v 2>&1 1>/dev/null || true) \
|
||||
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}\
|
||||
{%- if ext == 'opcache' -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^Zend Opcache$'
|
||||
{%- elif ext == 'readline' -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^readline$'
|
||||
{%- elif ext not in ['blackfire', 'ioncube'] -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^{{ ext }}$'
|
||||
{%- else %}
|
||||
{{- "\n\t" }}&& true
|
||||
{%- endif %}
|
||||
{{- "\n\n\n" }}
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}&& true{{ "\n\n\n" }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
|
||||
# Fix php.ini settings for enabled extensions
|
||||
RUN set -eux \
|
||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
||||
|
||||
# Fix oracle dir for images that don't have oci installed
|
||||
RUN set -eux \
|
||||
&& mkdir -p /usr/lib/oracle/
|
||||
|
||||
# Shrink everything down
|
||||
RUN set -eux \
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -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)
|
||||
|
||||
|
||||
|
||||
{{ edit_comment_mods }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base as final
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-mods"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-mods"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-mods"
|
||||
|
||||
|
||||
###
|
||||
### Install runtime libraries
|
||||
###
|
||||
RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
{# Loop over enabled run-time dependencies -#}
|
||||
{%- set run_deps = [] -%}
|
||||
{%- for ext in extensions_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
|
||||
{#- Version specific run-time dependency available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] -%}
|
||||
{%- for run_dep in extensions_available[ext][php_version]['run_dep'] -%}
|
||||
{#- Append run dependencies to our array -#}
|
||||
{{- run_deps.append(run_dep) -}}
|
||||
{%- endfor -%}
|
||||
{#- Generic run-time dependency available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] -%}
|
||||
{%- for run_dep in extensions_available[ext]['all']['run_dep'] -%}
|
||||
{#- Append run dependencies to our array -#}
|
||||
{{- run_deps.append(run_dep) -}}
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% for run_dep in run_deps | unique | sort %}
|
||||
{{ run_dep }} \
|
||||
{% endfor %}
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& update-ca-certificates
|
||||
|
||||
|
||||
###
|
||||
### 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 #}
|
||||
{%- set post_commands = {} -%}
|
||||
{% for ext in extensions_enabled %}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
|
||||
{{- post_commands.update({ext: extensions_available[ext][php_version]['post']}) -}}
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
|
||||
{{- post_commands.update({ext: extensions_available[ext]['all']['post']}) -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
|
||||
{% if post_commands | length > 0 -%}
|
||||
RUN set -eux \
|
||||
{%- for ext in post_commands -%}
|
||||
{{- "\n\t" }}# ---------- {{ ext }} ----------
|
||||
{{- "\n\t" }}&& {{ post_commands[ext] }} \
|
||||
{%- endfor -%}
|
||||
{{- "\n\t" }}&& true{{- "\n\n\n" }}
|
||||
{%- endif -%}
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### 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 '^{{ 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 \
|
||||
\
|
||||
{% for ext in extensions_enabled %}
|
||||
{#- Not disabled #}
|
||||
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
||||
{%- if ext == 'opcache' %}
|
||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||
{# #}
|
||||
{%- elif ext == 'readline' %}
|
||||
&& php -m | grep -oiE '^readline$' \
|
||||
{# #}
|
||||
{%- elif ext not in ['blackfire', 'ioncube'] %}
|
||||
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||
{# #}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{% endfor %}
|
||||
&& true
|
||||
|
||||
|
||||
{% 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
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
103
.ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
103
.ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
@@ -0,0 +1,103 @@
|
||||
{{ edit_comment_prod }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-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"="{{ php_version }}-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-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)
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### 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 '^{{ 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
|
||||
|
||||
|
||||
{% endif %}
|
||||
###
|
||||
### 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"]
|
||||
621
.ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
621
.ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
@@ -0,0 +1,621 @@
|
||||
{{ edit_comment_work }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
ARG ARCH
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-work"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work"
|
||||
|
||||
|
||||
###
|
||||
### Re-activate modules which have been deactivated in mods.
|
||||
### NOTE: They will be removed at the very bottom
|
||||
###
|
||||
RUN set -eux \
|
||||
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||
fi \
|
||||
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||
fi
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dirmngr \
|
||||
gnupg \
|
||||
\
|
||||
{%- for repo in apt_repositories_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) -%}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ apt_repositories_available[repo]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific key available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
|
||||
{#- Generic key available? -#}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific repository available? -#}
|
||||
{%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] -%}
|
||||
{{ "\n\t" }}&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{#- Generic repository available? -#}
|
||||
{%- elif 'all' in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo]['all'] -%}
|
||||
{{ "\n\t" }}&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
binutils \
|
||||
blackfire-agent \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
{% if php_version not in [5.2, 5.3, 5.4, 5.5] %}
|
||||
certbot \
|
||||
{% endif %}
|
||||
coreutils \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gawk \
|
||||
gcc \
|
||||
git \
|
||||
git-flow \
|
||||
git-svn \
|
||||
ghostscript \
|
||||
graphviz \
|
||||
gsfonts \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
jq \
|
||||
less \
|
||||
libc-dev \
|
||||
libffi-dev \
|
||||
libssl-dev \
|
||||
libyaml-dev \
|
||||
locales \
|
||||
make \
|
||||
moreutils \
|
||||
\
|
||||
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] %}
|
||||
mariadb-client \
|
||||
{% else %}
|
||||
mysql-client \
|
||||
{% endif %}
|
||||
\
|
||||
mupdf \
|
||||
mupdf-tools \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
openssh-client \
|
||||
patch \
|
||||
patchelf \
|
||||
redis-tools \
|
||||
rsync \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
sqlite3 \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
tree \
|
||||
unzip \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
zip \
|
||||
zlib1g-dev \
|
||||
zsh \
|
||||
{% if php_version in [5.6, 7.0] %}
|
||||
zsh-common \
|
||||
{% endif %}
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
###
|
||||
### Install custom software
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{%- endif -%}
|
||||
{%- for tool in software_enabled -%}
|
||||
{# Not disabled #}
|
||||
{%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'pre' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in software_available[tool] and 'pre' in software_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'command' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['command'] }} \
|
||||
{#- Generic command available? -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['command'] }} \
|
||||
{%- endif -%}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in software_available[tool] and 'post' in software_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool][php_version]['post'] }} \
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in software_available[tool] and 'post' in software_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['all']['post'] }} \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in software_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true)
|
||||
|
||||
|
||||
###
|
||||
### Install Composer (PHP)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{%- endif -%}
|
||||
{%- for tool in composer_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }} \
|
||||
{%- endif -%}
|
||||
{#- Symlinks available? -#}
|
||||
{%- if 'link' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& ln -s {{ composer_home }}/vendor/{{ composer_available[tool]['name'] }}/{{ composer_available[tool]['link'] }} /usr/local/bin/ \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ composer_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{% endfor %}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
###
|
||||
### Install npm (Node)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{%- endif -%}
|
||||
{%- for tool in npm_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& su -c '. {{ nvm_home }}/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }}' devilbox \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in npm_available[tool] -%}
|
||||
{{ "\n\t" }}&& PATH=$PATH:{{ nvm_home }}/versions/node/$(/bin/ls -1 {{ nvm_home }}/versions/node/ | sort -V | tail -1)/bin {{ nvm_home }}/versions/node/$(/bin/ls -1 {{ nvm_home }}/versions/node/ | sort -V | tail -1)/bin/{{ npm_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
\
|
||||
&& if [ -f "{{ nvm_home }}/nvm.sh" ]; then \
|
||||
ln -sf $(dirname $(su -c '. {{ nvm_home }}/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||
\
|
||||
&& su -c '. {{ nvm_home }}/nvm.sh; npm cache clear --force' devilbox \
|
||||
&& su -c '. {{ nvm_home }}/nvm.sh; nvm cache clear --force' devilbox; \
|
||||
fi \
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
&& (find {{ nvm_home }} -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
###
|
||||
### Install gem (Ruby)
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{%- endif -%}
|
||||
{%- for tool in gem_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in gem_available[tool] and 'version' in gem_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool][php_version]['version'] }} \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in gem_available[tool] and 'version' in gem_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool]['all']['version'] }} \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in gem_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ gem_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
###
|
||||
### Install pip (Python) packages
|
||||
###
|
||||
{% if not build_fail_fast %}
|
||||
RUN set -eux \
|
||||
{%- endif -%}
|
||||
{%- for tool in pip_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%}
|
||||
{{ "\n" }}# -------------------- {{ tool }} --------------------
|
||||
{%- if build_fail_fast -%}
|
||||
{{ "\n" }}RUN set -eux \
|
||||
{%- endif -%}
|
||||
{#- Version specific gem version available? -#}
|
||||
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} || true \
|
||||
{#- Generic gem version available? -#}
|
||||
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} || true \
|
||||
{#- No version info available -#}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} || true \
|
||||
{%- endif -%}
|
||||
{#- Fail fast version -#}
|
||||
{%- if build_fail_fast -%}
|
||||
{%- if 'check' in pip_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ pip_available[tool]['check'] }}{{ "\n\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}&& true{{ "\n\n" }}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\
|
||||
{%- endif -%}
|
||||
{#- end of Fail fast version -#}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{% if build_fail_fast -%}
|
||||
RUN set -eux \{{ "\n" }}
|
||||
{%- else -%}
|
||||
{{ "\n\t" }}\{{ "\n" }}
|
||||
{%- endif %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||
echo 'PATH="{{ nvm_home }}/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### 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 '^{{ 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
|
||||
|
||||
RUN set -eux \
|
||||
# -------------------- Software --------------------
|
||||
{%- for tool in software_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in software_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ software_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- Composer --------------------
|
||||
{%- for tool in composer_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in composer_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ composer_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- PIP --------------------
|
||||
{%- for tool in pip_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in pip_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ pip_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- NPM --------------------
|
||||
{%- for tool in npm_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in npm_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ npm_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}{{ "\n\t" }}\
|
||||
# -------------------- GEM --------------------
|
||||
{%- for tool in gem_enabled -%}
|
||||
{#- Not disabled -#}
|
||||
{%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%}
|
||||
{%- if 'check' in gem_available[tool] -%}
|
||||
{{ "\n\t" }}&& {{ gem_available[tool]['check'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{% endfor %}{{ "\n\t" }}\
|
||||
# -------------------- Cleanup --------------------
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /home/devilbox/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
{% for f in directory_to_clean %}
|
||||
&& (rm -rf /root/{{ f }} || true) \
|
||||
{% endfor %}
|
||||
\
|
||||
&& (rm -rf /tmp/* || true) \
|
||||
&& (rm -rf /tmp/.* || true)
|
||||
|
||||
|
||||
{% endif %}
|
||||
# Deactive PSR and Phalcon:
|
||||
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||
RUN set -eux \
|
||||
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./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
|
||||
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Where to start inside the container
|
||||
###
|
||||
WORKDIR /shared/httpd
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
@@ -1,3 +1,3 @@
|
||||
[defaults]
|
||||
roles_path = ./roles
|
||||
inventory = inventory
|
||||
inventory = inventory.ini
|
||||
79
.ansible/group_vars/all/all-ansible.yml
Normal file
79
.ansible/group_vars/all/all-ansible.yml
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
###################################################################################################
|
||||
# Ansible specific definitions
|
||||
###################################################################################################
|
||||
|
||||
edit_comment_base: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead."
|
||||
edit_comment_mods: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead."
|
||||
edit_comment_prod: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead."
|
||||
edit_comment_work: "# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-work.j2 instead."
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Adds version checks to Dockerfile
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
debug: True
|
||||
|
||||
# Also implement checks in builder images (slow, but fails faster)
|
||||
build_fail_fast: False
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Available PHP versions (see inventory)
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
php_all_versions:
|
||||
- 5.2
|
||||
- 5.3
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
- 7.4
|
||||
- 8.0
|
||||
- 8.1
|
||||
- 8.2
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Docker file paths for each version for base, mods, prod & work
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
template_dockerfiles:
|
||||
- src: DOCKERFILES/Dockerfile-base.j2
|
||||
dst: "../Dockerfiles/base/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-mods.j2
|
||||
dst: "../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-prod.j2
|
||||
dst: "../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-work.j2
|
||||
dst: "../Dockerfiles/work/Dockerfile-{{ php_version }}"
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Assign php.ini & php-fpm.conf to PHP versions
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
template_configurations:
|
||||
# php.ini
|
||||
- src: CONFIGURATIONS/php.ini.j2
|
||||
dst: "../Dockerfiles/base/data/php-ini.d/php-{{ php_version }}.ini"
|
||||
cfg: "{{ php_settings_ini }}"
|
||||
key: base
|
||||
alt: base
|
||||
- src: CONFIGURATIONS/php.ini.j2
|
||||
dst: "../Dockerfiles/work/data/php-ini.d/php-{{ php_version }}.ini"
|
||||
cfg: "{{ php_settings_ini }}"
|
||||
key: work
|
||||
alt: base # Alternative key to use when definition is not set in 'work'
|
||||
# php-fpm.conf
|
||||
- src: CONFIGURATIONS/php-fpm.conf.j2
|
||||
dst: "../Dockerfiles/base/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
||||
cfg: "{{ php_settings_fpm }}"
|
||||
key: base
|
||||
alt: base
|
||||
- src: CONFIGURATIONS/php-fpm.conf.j2
|
||||
dst: "../Dockerfiles/work/data/php-fpm.conf/php-fpm-{{ php_version }}.conf"
|
||||
cfg: "{{ php_settings_fpm }}"
|
||||
key: work
|
||||
alt: base
|
||||
113
.ansible/group_vars/all/all-php-settings.yml
Normal file
113
.ansible/group_vars/all/all-php-settings.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
###################################################################################################
|
||||
# PHP php.ini php-fpm.conf settings
|
||||
###################################################################################################
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Global
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
php_timeout: 120
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# php.ini
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
php_settings_ini:
|
||||
# ---- Sane default ----
|
||||
base:
|
||||
# Memory
|
||||
memory_limit: 512M
|
||||
# Timeouts
|
||||
max_execution_time: "{{ php_timeout }}"
|
||||
max_input_time: "{{ php_timeout }}"
|
||||
# Uploads
|
||||
# Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||
post_max_size: 72M
|
||||
upload_max_filesize: 64M
|
||||
max_file_uploads: 20
|
||||
# Variables
|
||||
variables_order: EGPCS
|
||||
max_input_vars: 8000
|
||||
max_input_nesting_level: 64
|
||||
# Error reporting
|
||||
error_reporting: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors: 'Off'
|
||||
report_memleaks: 'On'
|
||||
display_errors: 'Off'
|
||||
display_startup_errors: 'Off'
|
||||
track_errors: 'On'
|
||||
log_errors: 'On'
|
||||
html_errors: 'Off'
|
||||
# Xdebug2 settings
|
||||
xdebug2_default_enable: 'Off'
|
||||
xdebug2_profiler_enable: 'Off'
|
||||
xdebug2_remote_enable: 'Off'
|
||||
xdebug2_remote_autostart: 'Off'
|
||||
# Xdebug3 settings
|
||||
xdebug3_mode: 'Off'
|
||||
xdebug3_start_with_request: 'default'
|
||||
xdebug3_client_port: '9000'
|
||||
|
||||
# ---- Inherits from base ----
|
||||
mods:
|
||||
# ---- Inherits from base ----
|
||||
prod:
|
||||
# ---- Inherits from base and overwrites certain values ----
|
||||
work:
|
||||
# Error reporting
|
||||
error_reporting: E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||
xmlrpc_errors: 'Off'
|
||||
report_memleaks: 'On'
|
||||
display_errors: 'On'
|
||||
display_startup_errors: 'On'
|
||||
track_errors: 'On'
|
||||
log_errors: 'On'
|
||||
html_errors: 'On'
|
||||
# Xdebug2 settings
|
||||
xdebug2_default_enable: 'Off'
|
||||
xdebug2_profiler_enable: 'Off'
|
||||
xdebug2_remote_enable: 'Off'
|
||||
xdebug2_remote_autostart: 'Off'
|
||||
# Xdebug3 settings
|
||||
xdebug3_mode: 'Off'
|
||||
xdebug3_start_with_request: 'default'
|
||||
xdebug3_client_port: '9000'
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# php-fpm.conf
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
php_settings_fpm:
|
||||
# ---- Sane default ----
|
||||
base:
|
||||
# Docker
|
||||
clear_env: 'no'
|
||||
catch_workers_output: 'yes'
|
||||
# Timeouts
|
||||
request_terminate_timeout: "{{ php_timeout }}s"
|
||||
# Network
|
||||
listen: 9000
|
||||
# Backlog
|
||||
listen_backlog: 1024
|
||||
# Logging
|
||||
log_level: notice
|
||||
error_log: /proc/self/fd/2
|
||||
access_log: /proc/self/fd/2
|
||||
# Worker
|
||||
pm: ondemand
|
||||
pm_max_children: 50 # pm: dynamic, ondemand or static
|
||||
pm_start_servers: 4 # only for pm: dynamic (min_spare + (max_spare-min_spare)/2
|
||||
pm_min_spare_servers: 2 # only for pm: dynamic
|
||||
pm_max_spare_servers: 6 # only for pm: dynamic
|
||||
pm_max_requests: 500 # pm: dynamic or ondemand
|
||||
pm_process_idle_timeout: 10s # only for pm: ondemand
|
||||
|
||||
# User/Group
|
||||
user: devilbox
|
||||
group: devilbox
|
||||
# ---- Inherits from base ----
|
||||
mods:
|
||||
# ---- Inherits from base ----
|
||||
prod:
|
||||
# ---- Inherits from base and overwrites certain values ----
|
||||
work:
|
||||
1603
.ansible/group_vars/all/mods.yml
Normal file
1603
.ansible/group_vars/all/mods.yml
Normal file
File diff suppressed because it is too large
Load Diff
1423
.ansible/group_vars/all/work.yml
Normal file
1423
.ansible/group_vars/all/work.yml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,3 +9,6 @@ php-7.1 php_version=7.1 ansible_connection=local
|
||||
php-7.2 php_version=7.2 ansible_connection=local
|
||||
php-7.3 php_version=7.3 ansible_connection=local
|
||||
php-7.4 php_version=7.4 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
|
||||
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
github: [cytopia]
|
||||
patreon: devilbox
|
||||
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: nightly
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Nightly: At 00:00 on Monday, Wednesday, and Friday
|
||||
schedule:
|
||||
- cron: '0 18 * * 1,3,5'
|
||||
# Dispatch: allows for manual trigger via GH UI
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/8) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-nightly_master.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/8) Configure Build and Deploy Matrices
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
configure:
|
||||
needs: [params]
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||
with:
|
||||
enabled: true
|
||||
can_deploy: true
|
||||
versions: ${{ needs.params.outputs.versions }}
|
||||
refs: ${{ needs.params.outputs.refs }}
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/8) Build & Test base
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-base:
|
||||
needs:
|
||||
- configure
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
pull_base_image: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
stage_prev: ''
|
||||
|
||||
test-base:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (4/8) Build & Test mods
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
stage_prev: base
|
||||
|
||||
test-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (5/8) Build & Test prod
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
stage_prev: mods
|
||||
|
||||
test-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (6/8) Build & Test work
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
stage_prev: prod
|
||||
|
||||
test-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (7/8) Push images
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
push-base:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-mods:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-prod:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-work:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (8/8) Push Manifests
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
manifest-base:
|
||||
needs:
|
||||
- configure
|
||||
- push-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-mods:
|
||||
needs:
|
||||
- configure
|
||||
- push-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-prod:
|
||||
needs:
|
||||
- configure
|
||||
- push-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-work:
|
||||
needs:
|
||||
- configure
|
||||
- push-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
298
.github/workflows/action-schedule_tags.yml
vendored
Normal file
298
.github/workflows/action-schedule_tags.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: nightly
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Nightly: At 18:00 on Sunday, Tuesday, and Thursday
|
||||
schedule:
|
||||
- cron: '0 18 * * 0,2,4'
|
||||
# Dispatch: allows for manual trigger via GH UI
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/8) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-nightly_tags.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/8) Configure Build and Deploy Matrices
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
configure:
|
||||
needs: [params]
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||
with:
|
||||
enabled: true
|
||||
can_deploy: true
|
||||
versions: ${{ needs.params.outputs.versions }}
|
||||
refs: ${{ needs.params.outputs.refs }}
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/8) Build & Test base
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-base:
|
||||
needs:
|
||||
- configure
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
pull_base_image: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
stage_prev: ''
|
||||
|
||||
test-base:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (4/8) Build & Test mods
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
stage_prev: base
|
||||
|
||||
test-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (5/8) Build & Test prod
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
stage_prev: mods
|
||||
|
||||
test-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (6/8) Build & Test work
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
stage_prev: prod
|
||||
|
||||
test-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (7/8) Push images
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
push-base:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-mods:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-prod:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-work:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (8/8) Push Manifests
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
manifest-base:
|
||||
needs:
|
||||
- configure
|
||||
- push-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-mods:
|
||||
needs:
|
||||
- configure
|
||||
- push-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-prod:
|
||||
needs:
|
||||
- configure
|
||||
- push-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-work:
|
||||
needs:
|
||||
- configure
|
||||
- push-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
298
.github/workflows/action.yml
vendored
Normal file
298
.github/workflows/action.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: build
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Push or pull_request will be determined in jobs.configure.enabled
|
||||
push:
|
||||
pull_request:
|
||||
# Dispatch: allows for manual trigger via GH UI
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/8) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/8) Configure Build and Deploy Matrices
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
configure:
|
||||
needs: [params]
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||
with:
|
||||
enabled: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && (github.event.pull_request.user.login != 'cytopia')) }}
|
||||
can_deploy: ${{ (github.repository == 'devilbox/docker-php-fpm') && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release-')) }}
|
||||
versions: ${{ needs.params.outputs.versions }}
|
||||
refs: ${{ needs.params.outputs.refs }}
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/8) Build & Test base
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-base:
|
||||
needs:
|
||||
- configure
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
pull_base_image: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
stage_prev: ''
|
||||
|
||||
test-base:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (4/8) Build & Test mods
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
stage_prev: base
|
||||
|
||||
test-mods:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (5/8) Build & Test prod
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
stage_prev: mods
|
||||
|
||||
test-prod:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (6/8) Build & Test work
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
build-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
run_tests: false
|
||||
upload_artifact: true
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
stage_prev: prod
|
||||
|
||||
test-work:
|
||||
needs:
|
||||
- configure
|
||||
- build-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master
|
||||
with:
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (7/8) Push images
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
push-base:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-mods:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-prod:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
push-work:
|
||||
needs:
|
||||
- configure
|
||||
- test-base
|
||||
- test-prod
|
||||
- test-mods
|
||||
- test-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_build }}
|
||||
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (8/8) Push Manifests
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
manifest-base:
|
||||
needs:
|
||||
- configure
|
||||
- push-base
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: base
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-mods:
|
||||
needs:
|
||||
- configure
|
||||
- push-mods
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: mods
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-prod:
|
||||
needs:
|
||||
- configure
|
||||
- push-prod
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: prod
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
manifest-work:
|
||||
needs:
|
||||
- configure
|
||||
- push-work
|
||||
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master
|
||||
with:
|
||||
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }}
|
||||
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }}
|
||||
matrix: ${{ needs.configure.outputs.matrix_deploy }}
|
||||
versions: ${{ needs.configure.outputs.versions }}
|
||||
stage: work
|
||||
secrets:
|
||||
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
67
.github/workflows/linting.yml
vendored
Normal file
67
.github/workflows/linting.yml
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: lint
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# What to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
lint:
|
||||
name: "Lint"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# ------------------------------------------------------------
|
||||
# Setup repository
|
||||
# ------------------------------------------------------------
|
||||
- name: Checkout repository
|
||||
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 PHP modules
|
||||
run: |
|
||||
make gen-modules
|
||||
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||
|
||||
- name: Diff generated Docker files
|
||||
run: |
|
||||
make gen-dockerfiles
|
||||
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||
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
|
||||
77
.gitignore
vendored
77
.gitignore
vendored
@@ -1,74 +1,5 @@
|
||||
######################################
|
||||
# CUSTOM
|
||||
######################################
|
||||
.ansible/*.retry
|
||||
|
||||
build/ansible/*.retry
|
||||
|
||||
|
||||
|
||||
######################################
|
||||
# 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
|
||||
Makefile.docker
|
||||
Makefile.lint
|
||||
Makefile.python
|
||||
|
||||
128
.travis.yml
128
.travis.yml
@@ -1,128 +0,0 @@
|
||||
---
|
||||
|
||||
###
|
||||
### Travis settings
|
||||
###
|
||||
sudo: required
|
||||
language: python
|
||||
services:
|
||||
- docker
|
||||
|
||||
|
||||
###
|
||||
### Build Matrix
|
||||
###
|
||||
env:
|
||||
global:
|
||||
- IMAGE: devilbox/php-fpm
|
||||
# travis encrypt DOCKER_USERNAME=user
|
||||
# travis encrypt DOCKER_PASSWORD=pass
|
||||
# Must be regenerated when repository name/owner changes
|
||||
# DOCKER_USERNAME
|
||||
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
|
||||
# DOCKER_PASSWORD
|
||||
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
|
||||
matrix:
|
||||
- PHP=5.2
|
||||
- PHP=5.3
|
||||
- PHP=5.4
|
||||
- PHP=5.5
|
||||
- PHP=5.6
|
||||
- PHP=7.0
|
||||
- PHP=7.1
|
||||
- PHP=7.2
|
||||
- PHP=7.3
|
||||
- PHP=7.4
|
||||
|
||||
|
||||
###
|
||||
### Install requirements
|
||||
###
|
||||
install:
|
||||
# Get newer docker version
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get update; then break; else i=$((i+1)); fi done
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce; then break; else i=$((i+1)); fi done
|
||||
- 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
|
||||
|
||||
|
||||
###
|
||||
### Check generation changes, build and test
|
||||
###
|
||||
before_script:
|
||||
# Regenerate Dockerfiles and make sure nothing has changed (every stage)
|
||||
- pip install ansible
|
||||
- make generate
|
||||
- git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||
|
||||
# Build (multiple tries due to network outages)
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if make build-base-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||
- make test-base-${PHP//.}
|
||||
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if make build-mods-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||
- make test-mods-${PHP//.}
|
||||
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if make build-prod-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||
- make test-prod-${PHP//.}
|
||||
|
||||
- max=100; i=0; while [ $i -lt $max ]; do if make build-work-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||
- make test-work-${PHP//.}
|
||||
|
||||
# Test if PHP modules have changed
|
||||
- ./build/gen-readme.sh "${PHP}"
|
||||
- git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||
|
||||
|
||||
###
|
||||
### Push to Dockerhub
|
||||
###
|
||||
script:
|
||||
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
||||
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin &&
|
||||
if [ "${TRAVIS_BRANCH}" == "master" ]; then
|
||||
docker push "${IMAGE}:${PHP}-base";
|
||||
docker push "${IMAGE}:${PHP}-mods";
|
||||
docker push "${IMAGE}:${PHP}-prod";
|
||||
docker push "${IMAGE}:${PHP}-work";
|
||||
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
|
||||
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
|
||||
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
|
||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
|
||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
|
||||
docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}";
|
||||
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}";
|
||||
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
|
||||
docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
|
||||
elif [ -n "${TRAVIS_TAG}" ]; then
|
||||
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
|
||||
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
|
||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
|
||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
|
||||
docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}";
|
||||
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
|
||||
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
|
||||
docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
|
||||
else
|
||||
echo "Skipping push to dockerhub on normal branches";
|
||||
fi
|
||||
else
|
||||
echo "Skipping push to dockerhub on PR";
|
||||
fi
|
||||
14
.yamllint
Normal file
14
.yamllint
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
# Use 'default' rules
|
||||
extends: default
|
||||
|
||||
# Overwrite above default rules
|
||||
rules:
|
||||
colons:
|
||||
max-spaces-before: 0
|
||||
max-spaces-after: 60
|
||||
comments:
|
||||
require-starting-space: false
|
||||
min-spaces-from-content: 1
|
||||
line-length: disable
|
||||
truthy: disable
|
||||
445
CHANGELOG.md
Normal file
445
CHANGELOG.md
Normal file
@@ -0,0 +1,445 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
## Unreleased
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
#### Fixed
|
||||
- [169](https://github.com/devilbox/docker-php-fpm/issues/169) Fixes download for drupal console
|
||||
- Fixes laravel installer for PHP 7.2
|
||||
|
||||
|
||||
## Release 0.109
|
||||
|
||||
#### Fixed
|
||||
- Fixed absolute paths in tests
|
||||
|
||||
|
||||
## Release 0.108
|
||||
|
||||
#### Added
|
||||
- Added ghostscript
|
||||
- Added gsfonts
|
||||
- Added imagick PDF support (via ghostscript)
|
||||
- Added mupdf and mupdf-tools
|
||||
|
||||
#### Fixed
|
||||
- Fixes Ansible installation
|
||||
- Fixes MongoDB for PHP 5.6
|
||||
- Fixes Redis for PHP 8.0
|
||||
- Fixes policy.xml for Imagick
|
||||
|
||||
#### Changed
|
||||
- Stricter version check for installed tools
|
||||
|
||||
|
||||
## Release 0.107
|
||||
|
||||
#### Fixed
|
||||
- Fixes login to Dockerhub for CI jobs
|
||||
- Fixes imagick segfault by setting its threads to 1
|
||||
|
||||
#### Added
|
||||
- Re-added imap for PHP 7.4
|
||||
- Adding `certbot` binary
|
||||
|
||||
|
||||
## Release 0.106
|
||||
|
||||
#### Fixed
|
||||
- [#153](https://github.com/devilbox/docker-php-fpm/pull/153) Use numeric order for startup files
|
||||
- Fix build of PHP-FPM 7.4 snmp module
|
||||
- Disable PHP-FPM 8.0 uploadprogress module due to startup warnings
|
||||
|
||||
|
||||
## Release 0.105
|
||||
|
||||
#### Fixed
|
||||
- Fix pdo_sqlsrv install for PHP 7.1
|
||||
- Fix sqlsrv install for PHP 7.1
|
||||
- Fix composer memory issues during install
|
||||
|
||||
#### Added
|
||||
- `phalcon` binary for PHP 7.3 and 7.4
|
||||
|
||||
|
||||
## Release 0.104
|
||||
|
||||
#### Fixed
|
||||
- Fix xdebug install for PHP 7.0
|
||||
|
||||
|
||||
## Release 0.103
|
||||
|
||||
#### Added
|
||||
- Add PHP [yaml](https://pecl.php.net/package/yaml) module
|
||||
|
||||
|
||||
## Release 0.102
|
||||
|
||||
#### Added
|
||||
- [#144](https://github.com/devilbox/docker-php-fpm/issues/144) Added CHANGELOG
|
||||
|
||||
#### Changed
|
||||
- [#123](https://github.com/devilbox/docker-php-fpm/issues/123) Added Dart Sass and removed Ruby Sass
|
||||
- Replace [scss-lint](https://github.com/sds/scss-lint) with [stylelint](https://github.com/stylelint/stylelint)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM devilbox/php-fpm-5.2
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.2 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.2-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM devilbox/php-fpm-5.3
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.3 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.3-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
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>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.4 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.4-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
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>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.5 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.5-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:5.6-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.6 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.6-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.0-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.0 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.0-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.1-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.1 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.1-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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 \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.2-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.2 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.2-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.2-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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.2' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.3-rc-fpm
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.3-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.3 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.3-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.3-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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.3' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM devilbox/php-fpm-7.4
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM php:7.4-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.4 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.4-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.4-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-base"
|
||||
|
||||
|
||||
###
|
||||
@@ -27,7 +35,7 @@ ENV MY_USER="devilbox" \
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
@@ -35,16 +43,18 @@ RUN set -x \
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
||||
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 -x \
|
||||
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 \
|
||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
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.4' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
106
Dockerfiles/base/Dockerfile-8.0
Normal file
106
Dockerfiles/base/Dockerfile-8.0
Normal file
@@ -0,0 +1,106 @@
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM devilbox/php-fpm-8.0
|
||||
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.0-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-base"
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV MY_USER="devilbox" \
|
||||
MY_GROUP="devilbox" \
|
||||
MY_UID="1000" \
|
||||
MY_GID="1000" \
|
||||
PHP_VERSION="8.0"
|
||||
|
||||
|
||||
###
|
||||
### 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.0.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||
COPY ./data/php-fpm.conf/php-fpm-8.0.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.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
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
106
Dockerfiles/base/Dockerfile-8.1
Normal file
106
Dockerfiles/base/Dockerfile-8.1
Normal file
@@ -0,0 +1,106 @@
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
FROM devilbox/php-fpm-8.1
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="8.1-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-base"
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV MY_USER="devilbox" \
|
||||
MY_GROUP="devilbox" \
|
||||
MY_UID="1000" \
|
||||
MY_GID="1000" \
|
||||
PHP_VERSION="8.1"
|
||||
|
||||
|
||||
###
|
||||
### User/Group
|
||||
###
|
||||
RUN set -eux \
|
||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||
|
||||
|
||||
###
|
||||
### Upgrade (install ps)
|
||||
###
|
||||
RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
dpkg-dev \
|
||||
procps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
###
|
||||
### Configure
|
||||
###
|
||||
RUN set -eux \
|
||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||
&& mkdir -p /var/lib/php/session \
|
||||
&& mkdir -p /var/lib/php/wsdlcache \
|
||||
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/php-ini.d/php-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||
COPY ./data/php-fpm.conf/php-fpm-8.1.conf /usr/local/etc/php-fpm.conf
|
||||
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -eux \
|
||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
\
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
\
|
||||
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
&& rm -f /usr/local/etc/php/php.ini
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/local/sbin/php-fpm"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
106
Dockerfiles/base/Dockerfile-8.2
Normal file
106
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,106 @@
|
||||
# Auto-generated via Ansible: edit ./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
|
||||
# Change uid and fix homedir permissions
|
||||
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
|
||||
run "usermod -u ${uid} ${username}" "${debug}"
|
||||
run "chown -R ${username} ${homedir}" "${debug}"
|
||||
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
|
||||
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/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
|
||||
}
|
||||
@@ -100,12 +108,20 @@ set_gid() {
|
||||
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
||||
fi
|
||||
fi
|
||||
# Change ugd and fix homedir permissions
|
||||
# Change gid and fix homedir permissions
|
||||
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
||||
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
||||
run "chown -R :${groupname} ${homedir}" "${debug}"
|
||||
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
|
||||
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/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
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -p pipefail
|
||||
set -o pipefail
|
||||
|
||||
|
||||
###
|
||||
@@ -52,4 +52,4 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
|
||||
### Startup
|
||||
###
|
||||
log "info" "Starting $( php-fpm -v 2>&1 | head -1 )" "${DEBUG_LEVEL}"
|
||||
exec /usr/local/sbin/php-fpm
|
||||
exec "${@}"
|
||||
|
||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.0.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.0.conf
Normal file
@@ -0,0 +1,134 @@
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings can be overwritten by later includes
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Timeouts
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; The timeout for serving a single request after which the worker process will be killed.
|
||||
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||
; execution for some reason.
|
||||
request_terminate_timeout = 120s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Logging
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
error_log = /proc/self/fd/2
|
||||
log_level = notice
|
||||
|
||||
[www]
|
||||
; if we send this to /proc/self/fd/1, it never appears
|
||||
access.log = /proc/self/fd/2
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Backlog configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; A maximum of backlog incoming connections will be queued for processing.
|
||||
; If a connection request arrives with the queue full the client may receive an error with an
|
||||
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||
; the request may be ignored so that retries may succeed.
|
||||
|
||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||
; are silently truncated
|
||||
listen.backlog = 1024
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Worker configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; static - the number of child processes is fixed (pm.max_children).
|
||||
;
|
||||
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||
;
|
||||
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||
; pm.start_servers are started when the service is started.
|
||||
pm = ondemand
|
||||
|
||||
; The maximum number of child processes to be created
|
||||
pm.max_children = 50
|
||||
|
||||
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||
pm.start_servers = 4
|
||||
|
||||
; The desired minimum number of idle server processes.
|
||||
pm.min_spare_servers = 2
|
||||
|
||||
; The desired maximum number of idle server processes.
|
||||
pm.max_spare_servers = 6
|
||||
|
||||
; The number of requests each child process should execute before respawning.
|
||||
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||
; Default value: 0.
|
||||
pm.max_requests = 500
|
||||
|
||||
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||
pm.process_idle_timeout = 10s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Include
|
||||
; ############################################################
|
||||
|
||||
|
||||
[global]
|
||||
include = /usr/local/etc/php-fpm.d/*.conf
|
||||
|
||||
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings overwrite any includes again
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Required for Dockerization
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
daemonize = no
|
||||
|
||||
[www]
|
||||
; Keep env variables set by docker
|
||||
clear_env = no
|
||||
|
||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||
; Note: on highloaded environement, this can cause some delay in the page
|
||||
; process time (several ms).
|
||||
; Default Value: no
|
||||
catch_workers_output = yes
|
||||
|
||||
|
||||
; ############################################################
|
||||
; User and Group
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
user = devilbox
|
||||
group = devilbox
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Networking
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; Ensure to listen here
|
||||
listen = 9000
|
||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.1.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.1.conf
Normal file
@@ -0,0 +1,134 @@
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings can be overwritten by later includes
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Timeouts
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; The timeout for serving a single request after which the worker process will be killed.
|
||||
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||
; execution for some reason.
|
||||
request_terminate_timeout = 120s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Logging
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
error_log = /proc/self/fd/2
|
||||
log_level = notice
|
||||
|
||||
[www]
|
||||
; if we send this to /proc/self/fd/1, it never appears
|
||||
access.log = /proc/self/fd/2
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Backlog configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; A maximum of backlog incoming connections will be queued for processing.
|
||||
; If a connection request arrives with the queue full the client may receive an error with an
|
||||
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||
; the request may be ignored so that retries may succeed.
|
||||
|
||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||
; are silently truncated
|
||||
listen.backlog = 1024
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Worker configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; static - the number of child processes is fixed (pm.max_children).
|
||||
;
|
||||
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||
;
|
||||
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||
; pm.start_servers are started when the service is started.
|
||||
pm = ondemand
|
||||
|
||||
; The maximum number of child processes to be created
|
||||
pm.max_children = 50
|
||||
|
||||
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||
pm.start_servers = 4
|
||||
|
||||
; The desired minimum number of idle server processes.
|
||||
pm.min_spare_servers = 2
|
||||
|
||||
; The desired maximum number of idle server processes.
|
||||
pm.max_spare_servers = 6
|
||||
|
||||
; The number of requests each child process should execute before respawning.
|
||||
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||
; Default value: 0.
|
||||
pm.max_requests = 500
|
||||
|
||||
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||
pm.process_idle_timeout = 10s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Include
|
||||
; ############################################################
|
||||
|
||||
|
||||
[global]
|
||||
include = /usr/local/etc/php-fpm.d/*.conf
|
||||
|
||||
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings overwrite any includes again
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Required for Dockerization
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
daemonize = no
|
||||
|
||||
[www]
|
||||
; Keep env variables set by docker
|
||||
clear_env = no
|
||||
|
||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||
; Note: on highloaded environement, this can cause some delay in the page
|
||||
; process time (several ms).
|
||||
; Default Value: no
|
||||
catch_workers_output = yes
|
||||
|
||||
|
||||
; ############################################################
|
||||
; User and Group
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
user = devilbox
|
||||
group = devilbox
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Networking
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; Ensure to listen here
|
||||
listen = 9000
|
||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
@@ -0,0 +1,134 @@
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings can be overwritten by later includes
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Timeouts
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; The timeout for serving a single request after which the worker process will be killed.
|
||||
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||
; execution for some reason.
|
||||
request_terminate_timeout = 120s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Logging
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
error_log = /proc/self/fd/2
|
||||
log_level = notice
|
||||
|
||||
[www]
|
||||
; if we send this to /proc/self/fd/1, it never appears
|
||||
access.log = /proc/self/fd/2
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Backlog configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; A maximum of backlog incoming connections will be queued for processing.
|
||||
; If a connection request arrives with the queue full the client may receive an error with an
|
||||
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||
; the request may be ignored so that retries may succeed.
|
||||
|
||||
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||
; are silently truncated
|
||||
listen.backlog = 1024
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Worker configuration
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; static - the number of child processes is fixed (pm.max_children).
|
||||
;
|
||||
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||
;
|
||||
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||
; pm.start_servers are started when the service is started.
|
||||
pm = ondemand
|
||||
|
||||
; The maximum number of child processes to be created
|
||||
pm.max_children = 50
|
||||
|
||||
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||
pm.start_servers = 4
|
||||
|
||||
; The desired minimum number of idle server processes.
|
||||
pm.min_spare_servers = 2
|
||||
|
||||
; The desired maximum number of idle server processes.
|
||||
pm.max_spare_servers = 6
|
||||
|
||||
; The number of requests each child process should execute before respawning.
|
||||
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||
; Default value: 0.
|
||||
pm.max_requests = 500
|
||||
|
||||
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||
pm.process_idle_timeout = 10s
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Include
|
||||
; ############################################################
|
||||
|
||||
|
||||
[global]
|
||||
include = /usr/local/etc/php-fpm.d/*.conf
|
||||
|
||||
|
||||
; ################################################################################
|
||||
; ####
|
||||
; #### The following settings overwrite any includes again
|
||||
; ####
|
||||
; ################################################################################
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Required for Dockerization
|
||||
; ############################################################
|
||||
|
||||
[global]
|
||||
daemonize = no
|
||||
|
||||
[www]
|
||||
; Keep env variables set by docker
|
||||
clear_env = no
|
||||
|
||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||
; Note: on highloaded environement, this can cause some delay in the page
|
||||
; process time (several ms).
|
||||
; Default Value: no
|
||||
catch_workers_output = yes
|
||||
|
||||
|
||||
; ############################################################
|
||||
; User and Group
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
user = devilbox
|
||||
group = devilbox
|
||||
|
||||
|
||||
; ############################################################
|
||||
; Networking
|
||||
; ############################################################
|
||||
|
||||
[www]
|
||||
; Ensure to listen here
|
||||
listen = 9000
|
||||
@@ -10,40 +10,40 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
post_max_size = 72M
|
||||
upload_max_filesize = 64M
|
||||
max_file_uploads = 20
|
||||
|
||||
|
||||
; Vars
|
||||
variables_order = EGPCS
|
||||
max_input_nesting_level = 64
|
||||
variables_order = EGPCS
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,40 +10,40 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
post_max_size = 72M
|
||||
upload_max_filesize = 64M
|
||||
max_file_uploads = 20
|
||||
|
||||
|
||||
; Vars
|
||||
variables_order = EGPCS
|
||||
max_input_nesting_level = 64
|
||||
variables_order = EGPCS
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,41 +10,41 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,41 +10,41 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,41 +10,41 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,41 +10,41 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,41 +10,41 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
track_errors = On
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
|
||||
@@ -10,40 +10,39 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.mode = Off
|
||||
xdebug.start_with_request = default
|
||||
xdebug.client_port = 9000
|
||||
|
||||
@@ -10,40 +10,39 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.mode = Off
|
||||
xdebug.start_with_request = default
|
||||
xdebug.client_port = 9000
|
||||
|
||||
@@ -10,40 +10,39 @@
|
||||
|
||||
; Memory
|
||||
; Note: "memory_limit" should be larger than "post_max_size"
|
||||
memory_limit = 512M
|
||||
memory_limit = 512M
|
||||
|
||||
|
||||
; Timeouts
|
||||
max_execution_time = 120
|
||||
max_input_time = 120
|
||||
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
|
||||
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
|
||||
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
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||
xmlrpc_errors = Off
|
||||
report_memleaks = On
|
||||
display_errors = Off
|
||||
display_startup_errors = Off
|
||||
log_errors = On
|
||||
html_errors = Off
|
||||
|
||||
|
||||
; Xdebug settings
|
||||
xdebug.default_enable = Off
|
||||
xdebug.profiler_enable = Off
|
||||
xdebug.remote_enable = Off
|
||||
xdebug.remote_autostart = Off
|
||||
xdebug.mode = Off
|
||||
xdebug.start_with_request = default
|
||||
xdebug.client_port = 9000
|
||||
|
||||
48
Dockerfiles/base/data/php-ini.d/php-8.0.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.0.ini
Normal file
@@ -0,0 +1,48 @@
|
||||
; ############################################################
|
||||
; # Devilbox PHP defaults for 8.0-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.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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1204
Dockerfiles/mods/Dockerfile-8.0
Normal file
1204
Dockerfiles/mods/Dockerfile-8.0
Normal file
File diff suppressed because it is too large
Load Diff
1187
Dockerfiles/mods/Dockerfile-8.1
Normal file
1187
Dockerfiles/mods/Dockerfile-8.1
Normal file
File diff suppressed because it is too large
Load Diff
1128
Dockerfiles/mods/Dockerfile-8.2
Normal file
1128
Dockerfiles/mods/Dockerfile-8.2
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:5.2-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.2 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.2-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:5.3-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.3 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.3-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:5.4-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.4 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.4-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:5.5-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.5 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.5-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:5.6-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.6 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.6-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:7.0-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.0 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.0-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:7.1-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.1 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.1-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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 \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:7.2-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.2 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.2-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.2-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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.2' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:7.3-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.3 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.3-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.3-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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.3' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:7.4-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.4 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.4-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# 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.4-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-prod"
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
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 \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& rm -rf /etc/supervisor* \
|
||||
&& mkdir -p /etc/supervisor/conf.d \
|
||||
&& mkdir -p /var/log/supervisor \
|
||||
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
# 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 -x \
|
||||
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.4' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-fpm-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
|
||||
101
Dockerfiles/prod/Dockerfile-8.0
Normal file
101
Dockerfiles/prod/Dockerfile-8.0
Normal file
@@ -0,0 +1,101 @@
|
||||
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
FROM devilbox/php-fpm:8.0-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.0-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-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.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
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
101
Dockerfiles/prod/Dockerfile-8.1
Normal file
101
Dockerfiles/prod/Dockerfile-8.1
Normal file
@@ -0,0 +1,101 @@
|
||||
# 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"]
|
||||
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,101 @@
|
||||
# Auto-generated via Ansible: edit ./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"]
|
||||
122
Dockerfiles/prod/data/docker-entrypoint.d/301-postfix.sh
Executable file
122
Dockerfiles/prod/data/docker-entrypoint.d/301-postfix.sh
Executable file
@@ -0,0 +1,122 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
|
||||
############################################################
|
||||
# Functions
|
||||
############################################################
|
||||
|
||||
###
|
||||
### Setup Postfix for catch-all
|
||||
###
|
||||
set_postfix() {
|
||||
local env_varname="${1}"
|
||||
local username="${2}"
|
||||
local groupname="${3}"
|
||||
local php_ini_dir="${4}"
|
||||
local php_mail_log="${5}"
|
||||
local docker_logs="${6}"
|
||||
local debug="${7}"
|
||||
|
||||
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
|
||||
local enable_mail=
|
||||
|
||||
# Verify env value
|
||||
if ! env_set "${env_varname}"; then
|
||||
log "info" "\$${env_varname} not set." "${debug}"
|
||||
log "info" "Postfix will not be started." "${debug}"
|
||||
echo "" > "${php_ini_file}"
|
||||
return
|
||||
fi
|
||||
|
||||
# Retrieve env value
|
||||
enable_mail="$( env_get "${env_varname}" )"
|
||||
|
||||
# Enable postfix
|
||||
if [ "${enable_mail}" = "1" ] || [ "${enable_mail}" = "2" ]; then
|
||||
|
||||
if [ "${enable_mail}" = "1" ]; then
|
||||
log "info" "\$${env_varname} set to 1. Enabling postfix" "${debug}"
|
||||
else
|
||||
log "info" "\$${env_varname} set to 2. Enabling postfix catch-all" "${debug}"
|
||||
fi
|
||||
|
||||
# Configure PHP
|
||||
{
|
||||
echo "[mail function]";
|
||||
echo "sendmail_path = $( command -v sendmail ) -t -i";
|
||||
echo ";mail.force_extra_parameters =";
|
||||
echo "mail.add_x_header = On";
|
||||
echo "mail.log = ${php_mail_log}";
|
||||
} > "${php_ini_file}"
|
||||
|
||||
# PHP mail function logs to file
|
||||
if [ "${docker_logs}" != "1" ]; then
|
||||
# Fix PHP mail log file dir/file and permissions
|
||||
if [ ! -d "$( dirname "${php_mail_log}" )" ]; then
|
||||
run "mkdir -p $( dirname "${php_mail_log}" )" "${debug}"
|
||||
fi
|
||||
if [ ! -f "${php_mail_log}" ]; then
|
||||
run "touch ${php_mail_log}" "${debug}"
|
||||
fi
|
||||
run "chown ${username}:${groupname} $( dirname "${php_mail_log}" )" "${debug}"
|
||||
run "chown ${username}:${groupname} ${php_mail_log}" "${debug}"
|
||||
run "chmod 0644 ${php_mail_log}" "${debug}"
|
||||
fi
|
||||
|
||||
# Add Mail dir/file if it does not exist
|
||||
if [ ! -d "/var/mail" ]; then
|
||||
run "mkdir /var/mail" "${debug}"
|
||||
fi
|
||||
if [ ! -f "/var/mail/${username}" ]; then
|
||||
run "touch /var/mail/${username}" "${debug}"
|
||||
fi
|
||||
|
||||
# Fix mail dir/file permissions after mount
|
||||
run "chmod 0644 /var/mail/${username}" "${debug}"
|
||||
run "chown ${username}:${groupname} /var/mail" "${debug}"
|
||||
run "chown ${username}:${groupname} /var/mail/${username}" "${debug}"
|
||||
|
||||
# warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
|
||||
run "postconf -e 'strict_mailbox_ownership=no'" "${debug}"
|
||||
|
||||
# Postfix configuration
|
||||
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
||||
|
||||
# Postfix catch-all
|
||||
if [ "${enable_mail}" = "2" ]; then
|
||||
run "postconf -e 'myhostname=localhost'" "${debug}"
|
||||
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
||||
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
||||
run "newaliases" "${debug}"
|
||||
fi
|
||||
|
||||
elif [ "${enable_mail}" = "0" ]; then
|
||||
log "info" "\$${env_varname} set to 0. Disabling postfix" "${debug}"
|
||||
|
||||
else
|
||||
log "err" "Invalid value for \$${env_varname}. Can only be 0, 1 or 2. Prodived: ${enable_mail}" "${debug}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
############################################################
|
||||
# Sanity Checks
|
||||
############################################################
|
||||
|
||||
if ! command -v sendmail >/dev/null 2>&1; then
|
||||
log "err" "sendmail not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v postconf >/dev/null 2>&1; then
|
||||
log "err" "postconf not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v newaliases >/dev/null 2>&1; then
|
||||
log "err" "newaliases not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
@@ -33,7 +33,7 @@ disable_modules() {
|
||||
mod="$( echo "${mod}" | xargs )" # trim
|
||||
|
||||
# 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
|
||||
while read -r f; do
|
||||
@@ -1,108 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
|
||||
############################################################
|
||||
# Functions
|
||||
############################################################
|
||||
|
||||
###
|
||||
### Setup Postfix for catch-all
|
||||
###
|
||||
set_postfix() {
|
||||
local env_varname="${1}"
|
||||
local username="${2}"
|
||||
local groupname="${3}"
|
||||
local php_ini_dir="${4}"
|
||||
local php_mail_log="${5}"
|
||||
local docker_logs="${6}"
|
||||
local debug="${7}"
|
||||
|
||||
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
|
||||
local catch_all=
|
||||
|
||||
if ! env_set "${env_varname}"; then
|
||||
log "info" "\$${env_varname} not set." "${debug}"
|
||||
log "info" "Postfix will not be started." "${debug}"
|
||||
echo "" > "${php_ini_file}"
|
||||
else
|
||||
catch_all="$( env_get "${env_varname}" )"
|
||||
if [ "${catch_all}" = "1" ]; then
|
||||
log "info" "\$${env_varname} set to 1. Enabling postfix catch-all" "${debug}"
|
||||
|
||||
# Configure PHP
|
||||
{
|
||||
echo "[mail function]";
|
||||
echo "sendmail_path = $( which sendmail ) -t -i";
|
||||
echo ";mail.force_extra_parameters =";
|
||||
echo "mail.add_x_header = On";
|
||||
echo "mail.log = ${php_mail_log}";
|
||||
} > "${php_ini_file}"
|
||||
|
||||
# PHP mail function logs to file
|
||||
if [ "${docker_logs}" != "1" ]; then
|
||||
# Fix PHP mail log file dir/file and permissions
|
||||
if [ ! -d "$( dirname "${php_mail_log}" )" ]; then
|
||||
run "mkdir -p $( dirname "${php_mail_log}" )" "${debug}"
|
||||
fi
|
||||
if [ ! -f "${php_mail_log}" ]; then
|
||||
run "touch ${php_mail_log}" "${debug}"
|
||||
fi
|
||||
run "chown ${username}:${groupname} $( dirname "${php_mail_log}" )" "${debug}"
|
||||
run "chown ${username}:${groupname} ${php_mail_log}" "${debug}"
|
||||
run "chmod 0644 ${php_mail_log}" "${debug}"
|
||||
fi
|
||||
|
||||
# Add Mail dir/file if it does not exist
|
||||
if [ ! -d "/var/mail" ]; then
|
||||
run "mkdir /var/mail" "${debug}"
|
||||
fi
|
||||
if [ ! -f "/var/mail/${username}" ]; then
|
||||
run "touch /var/mail/${username}" "${debug}"
|
||||
fi
|
||||
|
||||
# Fix mail dir/file permissions after mount
|
||||
run "chmod 0644 /var/mail/${username}" "${debug}"
|
||||
run "chown ${username}:${groupname} /var/mail" "${debug}"
|
||||
run "chown ${username}:${groupname} /var/mail/${username}" "${debug}"
|
||||
|
||||
# warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
|
||||
run "postconf -e 'strict_mailbox_ownership=no'" "${debug}"
|
||||
|
||||
# Postfix configuration
|
||||
run "postconf -e 'inet_protocols=ipv4'" "${debug}"
|
||||
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
|
||||
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
|
||||
|
||||
run "newaliases" "${debug}"
|
||||
|
||||
elif [ "${catch_all}" = "0" ]; then
|
||||
log "info" "\$${env_varname} set to 0. Disabling postfix catch-all" "${debug}"
|
||||
|
||||
else
|
||||
log "err" "Invalid value for \$${env_varname}. Can only be 0 or 1. Prodived: ${catch_all}" "${debug}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
############################################################
|
||||
# Sanity Checks
|
||||
############################################################
|
||||
|
||||
if ! command -v sendmail >/dev/null 2>&1; then
|
||||
log "err" "sendmail not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v postconf >/dev/null 2>&1; then
|
||||
log "err" "postconf not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v newaliases >/dev/null 2>&1; then
|
||||
log "err" "newaliases not found, but required." "1"
|
||||
exit 1
|
||||
fi
|
||||
49
Dockerfiles/prod/data/docker-entrypoint.d/310-custom-startup-scripts.sh
Executable file
49
Dockerfiles/prod/data/docker-entrypoint.d/310-custom-startup-scripts.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
|
||||
############################################################
|
||||
# Functions
|
||||
############################################################
|
||||
|
||||
###
|
||||
### Execute custom uesr-supplied scripts
|
||||
###
|
||||
execute_custom_scripts() {
|
||||
local script_dir="${1}"
|
||||
local debug="${2}"
|
||||
|
||||
if [ ! -d "${script_dir}" ]; then
|
||||
run "mkdir -p ${script_dir}" "${debug}"
|
||||
fi
|
||||
script_files="$( find -L "${script_dir}" -type f -iname '*.sh' | sort -n )"
|
||||
|
||||
# loop over them line by line
|
||||
IFS='
|
||||
'
|
||||
for script_f in ${script_files}; do
|
||||
script_name="$( basename "${script_f}" )"
|
||||
log "info" "Executing custom startup script: ${script_name}" "${debug}"
|
||||
if ! bash "${script_f}"; then
|
||||
log "err" "Failed to execute script" "${debug}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
############################################################
|
||||
# Sanity Checks
|
||||
############################################################
|
||||
|
||||
if ! command -v find >/dev/null 2>&1; then
|
||||
echo "find not found, but required."
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v basename >/dev/null 2>&1; then
|
||||
echo "basename not found, but required."
|
||||
exit 1
|
||||
fi
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -p pipefail
|
||||
set -o pipefail
|
||||
|
||||
|
||||
###
|
||||
@@ -16,38 +16,38 @@ set -p pipefail
|
||||
# MY_GID
|
||||
|
||||
# Path to scripts to source
|
||||
CONFIG_DIR="/docker-entrypoint.d"
|
||||
DVL_CONFIG_DIR="/docker-entrypoint.d"
|
||||
|
||||
# php.ini.d directory
|
||||
PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
||||
DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
||||
|
||||
# php-fpm conf.d directory
|
||||
PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
||||
|
||||
# This is the log file for any mail related functions
|
||||
PHP_MAIL_LOG="/var/log/mail.log"
|
||||
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
||||
|
||||
# This file holds error and access log definitions
|
||||
PHP_FPM_CONF_LOGFILE="${PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
||||
PHP_INI_CONF_LOGFILE="${PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
||||
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
||||
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
||||
|
||||
# PHP-FPM log dir
|
||||
FPM_LOG_DIR="/var/log/php"
|
||||
DVL_FPM_LOG_DIR="/var/log/php"
|
||||
|
||||
# This is the log file for any mail related functions
|
||||
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
|
||||
|
||||
# Custom ini dir (to be copied to actual ini dir)
|
||||
PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||
|
||||
# Custom PHP-FPM dir (to be copied to actual FPM conf dir)
|
||||
PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
|
||||
DVL_PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
|
||||
|
||||
# Supervisord config directory
|
||||
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
||||
DVL_SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
||||
|
||||
|
||||
###
|
||||
### Source libs
|
||||
###
|
||||
init="$( find "${CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
|
||||
init="$( find "${DVL_CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
|
||||
for f in ${init}; do
|
||||
# shellcheck disable=SC1090
|
||||
. "${f}"
|
||||
@@ -76,7 +76,7 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
|
||||
###
|
||||
### Set timezone
|
||||
###
|
||||
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||
set_timezone "TIMEZONE" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
###
|
||||
@@ -92,9 +92,9 @@ fi
|
||||
###
|
||||
set_docker_logs \
|
||||
"DOCKER_LOGS" \
|
||||
"${FPM_LOG_DIR}" \
|
||||
"${PHP_FPM_CONF_LOGFILE}" \
|
||||
"${PHP_INI_CONF_LOGFILE}" \
|
||||
"${DVL_FPM_LOG_DIR}" \
|
||||
"${DVL_PHP_FPM_CONF_LOGFILE}" \
|
||||
"${DVL_PHP_INI_CONF_LOGFILE}" \
|
||||
"${MY_USER}" \
|
||||
"${MY_GROUP}" \
|
||||
"${DEBUG_LEVEL}"
|
||||
@@ -105,10 +105,10 @@ set_docker_logs \
|
||||
###
|
||||
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
|
||||
# PHP mail function should log to stderr
|
||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
|
||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
|
||||
else
|
||||
# PHP mail function should log to file
|
||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
|
||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "${DVL_PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
|
||||
fi
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
|
||||
supervisor_add_service \
|
||||
"socat-${lport}-${rhost}-${rport}" \
|
||||
"/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \
|
||||
"${SUPERVISOR_CONFD}" \
|
||||
"${DVL_SUPERVISOR_CONFD}" \
|
||||
"${DEBUG_LEVEL}"
|
||||
done
|
||||
|
||||
@@ -138,31 +138,31 @@ done
|
||||
###
|
||||
### Supervisor: rsyslogd & postfix
|
||||
###
|
||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
|
||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||
fi
|
||||
|
||||
|
||||
###
|
||||
### Supervisor: php-fpm
|
||||
###
|
||||
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
###
|
||||
### Copy custom *.ini files
|
||||
###
|
||||
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||
copy_ini_files "${DVL_PHP_CUST_INI_DIR}" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
###
|
||||
### Copy custom PHP-FPM *.conf files
|
||||
###
|
||||
if [ "${PHP_VERSION}" = "5.2" ]; then
|
||||
copy_fpm_5_2_conf_file "${PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
|
||||
copy_fpm_5_2_conf_file "${DVL_PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
|
||||
else
|
||||
copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}"
|
||||
copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
|
||||
fi
|
||||
|
||||
|
||||
@@ -178,8 +178,16 @@ enable_modules "ENABLE_MODULES" "${DEBUG_LEVEL}"
|
||||
disable_modules "DISABLE_MODULES" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
###
|
||||
### Run custom user supplied scripts
|
||||
###
|
||||
execute_custom_scripts "/startup.1.d" "${DEBUG_LEVEL}"
|
||||
execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
###
|
||||
###
|
||||
### Startup
|
||||
###
|
||||
log "info" "Starting supervisord" "${DEBUG_LEVEL}"
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||
exec "${@}"
|
||||
|
||||
@@ -22,29 +22,22 @@ set -o pipefail
|
||||
###
|
||||
### Variables
|
||||
###
|
||||
if [ -f "/etc/alpine-release" ]; then
|
||||
MAILLOG="/var/log/maillog"
|
||||
elif [ -f "/etc/debian_version" ]; then
|
||||
MAILLOG="/var/log/mail.log"
|
||||
else
|
||||
MAILLOG="/var/log/maillog"
|
||||
fi
|
||||
|
||||
MAILLOG="/var/log/mail.log"
|
||||
MAILPID="/var/spool/postfix/pid/master.pid"
|
||||
|
||||
|
||||
###
|
||||
### Sanity checks
|
||||
###
|
||||
if ! command -v pidof >/dev/null 2>&1; then
|
||||
echo "pidof is required for cleaning up tail command."
|
||||
if ! command -v pgrep >/dev/null 2>&1; then
|
||||
echo "pgrep is required for cleaning up tail command."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Give rsyslogd some time to start up
|
||||
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."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user