mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-12 20:11:16 +00:00
Compare commits
595 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
github: [cytopia]
|
||||||
|
patreon: devilbox
|
||||||
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
298
.github/workflows/action-schedule_master.yml
vendored
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# Job Name
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
name: nightly
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# When to run
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
on:
|
||||||
|
# Nightly: At 00:00 on Monday, Wednesday, and Friday
|
||||||
|
schedule:
|
||||||
|
- cron: '0 18 * * 1,3,5'
|
||||||
|
# Dispatch: allows for manual trigger via GH UI
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (1/8) Determine parameter settings
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
params:
|
||||||
|
uses: ./.github/workflows/params-nightly_master.yml
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
# (2/8) Configure Build and Deploy Matrices
|
||||||
|
# -----------------------------------------------------------------------------------------------
|
||||||
|
configure:
|
||||||
|
needs: [params]
|
||||||
|
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master
|
||||||
|
with:
|
||||||
|
enabled: true
|
||||||
|
can_deploy: true
|
||||||
|
is_scheduled: 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
|
||||||
|
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
|
||||||
|
is_scheduled: 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
|
||||||
|
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-')) }}
|
||||||
|
is_scheduled: false
|
||||||
|
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
|
||||||
|
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 }}
|
||||||
52
.github/workflows/linting.yml
vendored
Normal file
52
.github/workflows/linting.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Lint repository
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
- name: Lint Files
|
||||||
|
run: |
|
||||||
|
make lint-files
|
||||||
|
|
||||||
|
- name: Lint Yaml
|
||||||
|
run: |
|
||||||
|
make lint-yaml
|
||||||
|
|
||||||
|
- name: Lint Changelog
|
||||||
|
run: |
|
||||||
|
make lint-changelog
|
||||||
|
|
||||||
|
- name: Diff generated Docker files
|
||||||
|
run: |
|
||||||
|
make gen-dockerfiles
|
||||||
|
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
69
.github/workflows/params-nightly_master.yml
vendored
Normal file
69
.github/workflows/params-nightly_master.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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: |
|
||||||
|
echo "::set-output name=versions::$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=refs::$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
69
.github/workflows/params-nightly_tags.yml
vendored
Normal file
69
.github/workflows/params-nightly_tags.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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: |
|
||||||
|
echo "::set-output name=versions::$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=refs::$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
69
.github/workflows/params.yml
vendored
Normal file
69
.github/workflows/params.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
# 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: |
|
||||||
|
echo "::set-output name=versions::$( echo '${{ env.VERSIONS }}' | jq -M -c )"
|
||||||
|
|
||||||
|
- name: "[Set-Output] jsonify REFS"
|
||||||
|
id: set-refs
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=refs::$( echo '${{ env.REFS }}' | jq -M -c )"
|
||||||
75
.gitignore
vendored
75
.gitignore
vendored
@@ -1,74 +1,3 @@
|
|||||||
######################################
|
|
||||||
# CUSTOM
|
|
||||||
######################################
|
|
||||||
|
|
||||||
build/ansible/*.retry
|
build/ansible/*.retry
|
||||||
|
Makefile.docker
|
||||||
|
Makefile.lint
|
||||||
|
|
||||||
######################################
|
|
||||||
# GENERIC
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### std ######
|
|
||||||
.lock
|
|
||||||
*.log
|
|
||||||
|
|
||||||
###### patches/diffs ######
|
|
||||||
*.patch
|
|
||||||
*.diff
|
|
||||||
*.orig
|
|
||||||
*.rej
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Operating Systems
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### OSX ######
|
|
||||||
._*
|
|
||||||
.DS*
|
|
||||||
.Spotlight-V100
|
|
||||||
.Trashes
|
|
||||||
|
|
||||||
###### Windows ######
|
|
||||||
Thumbs.db
|
|
||||||
ehthumbs.db
|
|
||||||
Desktop.ini
|
|
||||||
$RECYCLE.BIN/
|
|
||||||
*.lnk
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Editors
|
|
||||||
######################################
|
|
||||||
|
|
||||||
###### Sublime ######
|
|
||||||
*.sublime-workspace
|
|
||||||
*.sublime-project
|
|
||||||
|
|
||||||
###### Eclipse ######
|
|
||||||
.classpath
|
|
||||||
.buildpath
|
|
||||||
.project
|
|
||||||
.settings/
|
|
||||||
|
|
||||||
###### Netbeans ######
|
|
||||||
nbproject/private/
|
|
||||||
|
|
||||||
###### Intellij IDE ######
|
|
||||||
.idea/
|
|
||||||
.idea_modules/
|
|
||||||
|
|
||||||
###### vim ######
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
*~
|
|
||||||
|
|
||||||
###### TextMate ######
|
|
||||||
.tm_properties
|
|
||||||
*.tmproj
|
|
||||||
|
|
||||||
###### BBEdit ######
|
|
||||||
*.bbprojectd
|
|
||||||
*.bbproject
|
|
||||||
|
|||||||
143
.travis.yml
143
.travis.yml
@@ -1,143 +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
|
|
||||||
echo "Pushing latest";
|
|
||||||
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
|
|
||||||
echo "Pushing branch ${TRAVIS_BRANCH}";
|
|
||||||
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
|
|
||||||
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
|
|
||||||
echo "Pushing tag ${TRAVIS_TAG}";
|
|
||||||
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
|
|
||||||
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}";
|
|
||||||
elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
|
|
||||||
if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then
|
|
||||||
echo "Pushing cron tag ${MY_TAG}";
|
|
||||||
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${MY_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${MY_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${MY_TAG}" &&
|
|
||||||
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${MY_TAG}" &&
|
|
||||||
docker push "${IMAGE}:${PHP}-base-${MY_TAG}";
|
|
||||||
docker push "${IMAGE}:${PHP}-mods-${MY_TAG}";
|
|
||||||
docker push "${IMAGE}:${PHP}-prod-${MY_TAG}";
|
|
||||||
docker push "${IMAGE}:${PHP}-work-${MY_TAG}";
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
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
|
||||||
394
CHANGELOG.md
Normal file
394
CHANGELOG.md
Normal file
@@ -0,0 +1,394 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
|
||||||
|
## 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)
|
||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.2 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.2-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.3 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.3-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:5.4-fpm
|
FROM devilbox/php-fpm-5.4
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.4 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.4-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:5.5-fpm
|
FROM devilbox/php-fpm-5.5
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.5 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.5-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.6 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.6-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.0 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.0-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.1 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.1-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.2 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.2-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM php:7.3-rc-fpm
|
FROM php:7.3-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.3 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.3-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
FROM devilbox/php-fpm-7.4
|
FROM php:7.4-fpm
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.4 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.4-base" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### User/Group
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
@@ -35,16 +43,18 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
### Upgrade (install ps)
|
### Upgrade (install ps)
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Configure
|
### Configure
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& rm -rf /usr/local/etc/php-fpm.d \
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
&& mkdir -p /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/session \
|
||||||
@@ -66,7 +76,7 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& 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' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -92,4 +102,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
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 build/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 build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-8.1
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-base"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-base"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-base"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="8.1"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade (install ps)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /var/lib/php/session \
|
||||||
|
&& mkdir -p /var/lib/php/wsdlcache \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.1.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
106
Dockerfiles/base/Dockerfile-8.2
Normal file
106
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-8.2
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-base"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="8.2"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade (install ps)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
dpkg-dev \
|
||||||
|
procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /var/lib/php/session \
|
||||||
|
&& mkdir -p /var/lib/php/wsdlcache \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -60,10 +60,18 @@ set_uid() {
|
|||||||
fi
|
fi
|
||||||
# Change uid and fix homedir permissions
|
# Change uid and fix homedir permissions
|
||||||
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
|
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
|
||||||
run "usermod -u ${uid} ${username}" "${debug}"
|
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R ${username} ${homedir}" "${debug}"
|
run "usermod -u ${uid} ${username}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R ${username} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
run "chown -R ${username} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R ${username} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R ${username} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -100,12 +108,20 @@ set_gid() {
|
|||||||
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Change ugd and fix homedir permissions
|
# Change gid and fix homedir permissions
|
||||||
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
|
||||||
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
|
||||||
run "chown -R :${groupname} ${homedir}" "${debug}"
|
run "groupmod -g ${gid} ${groupname}" "${debug}"
|
||||||
|
fi
|
||||||
|
run "chown -R :${groupname} ${homedir} 2>/dev/null || true" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
|
||||||
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
|
||||||
|
if [ -f "/var/spool/mail/devilbox" ]; then
|
||||||
|
run "chown -R :${groupname} /var/spool/mail/devilbox" "${debug}"
|
||||||
|
fi
|
||||||
|
if [ -d "/etc/supervisor/custom.d" ]; then
|
||||||
|
run "chown -R :${groupname} /etc/supervisor/custom.d" "${debug}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
set -u
|
set -u
|
||||||
set -p pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -52,4 +52,4 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
|
|||||||
### Startup
|
### Startup
|
||||||
###
|
###
|
||||||
log "info" "Starting $( php-fpm -v 2>&1 | head -1 )" "${DEBUG_LEVEL}"
|
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
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,40 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,41 +10,41 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
track_errors = On
|
track_errors = On
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.default_enable = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.profiler_enable = Off
|
||||||
xdebug.remote_enable = Off
|
xdebug.remote_enable = Off
|
||||||
xdebug.remote_autostart = Off
|
xdebug.remote_autostart = Off
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
@@ -10,40 +10,39 @@
|
|||||||
|
|
||||||
; Memory
|
; Memory
|
||||||
; Note: "memory_limit" should be larger than "post_max_size"
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
memory_limit = 512M
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
; Timeouts
|
; Timeouts
|
||||||
max_execution_time = 120
|
max_execution_time = 120
|
||||||
max_input_time = 120
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
; Uploads
|
; Uploads
|
||||||
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
post_max_size = 72M
|
post_max_size = 72M
|
||||||
upload_max_filesize = 64M
|
upload_max_filesize = 64M
|
||||||
max_file_uploads = 20
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
; Vars
|
; Vars
|
||||||
variables_order = EGPCS
|
variables_order = EGPCS
|
||||||
max_input_vars = 8000
|
max_input_vars = 8000
|
||||||
max_input_nesting_level = 64
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
; Error reporting
|
; Error reporting
|
||||||
; Note: error_log is dynamic and handled during start to set appropriate setting
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
xmlrpc_errors = Off
|
xmlrpc_errors = Off
|
||||||
report_memleaks = On
|
report_memleaks = On
|
||||||
display_errors = Off
|
display_errors = Off
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = On
|
log_errors = On
|
||||||
html_errors = Off
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
; Xdebug settings
|
; Xdebug settings
|
||||||
xdebug.default_enable = Off
|
xdebug.mode = Off
|
||||||
xdebug.profiler_enable = Off
|
xdebug.start_with_request = default
|
||||||
xdebug.remote_enable = Off
|
xdebug.client_port = 9000
|
||||||
xdebug.remote_autostart = Off
|
|
||||||
|
|||||||
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
1079
Dockerfiles/mods/Dockerfile-8.0
Normal file
1079
Dockerfiles/mods/Dockerfile-8.0
Normal file
File diff suppressed because it is too large
Load Diff
1064
Dockerfiles/mods/Dockerfile-8.1
Normal file
1064
Dockerfiles/mods/Dockerfile-8.1
Normal file
File diff suppressed because it is too large
Load Diff
1029
Dockerfiles/mods/Dockerfile-8.2
Normal file
1029
Dockerfiles/mods/Dockerfile-8.2
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.2 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.2-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.3 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.3-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.4 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.4-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.5 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.5-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.6 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.6-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.0 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.0-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.1 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.1-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.2 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.2-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.3 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.3-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -6,44 +6,56 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 7.4 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="7.4-prod" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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
|
### Install
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
locales-all \
|
locales-all \
|
||||||
postfix \
|
postfix \
|
||||||
postfix-pcre \
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
rsyslog \
|
rsyslog \
|
||||||
socat \
|
socat \
|
||||||
supervisor \
|
supervisor \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
&& rm -rf /etc/supervisor* \
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
&& mkdir -p /etc/supervisor/conf.d \
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
&& mkdir -p /var/log/supervisor \
|
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# Setup Supervisor
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& rm -rf /etc/supervisor* \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& 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' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -72,14 +84,10 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
|||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Ports
|
### Ports
|
||||||
###
|
###
|
||||||
@@ -89,4 +97,5 @@ EXPOSE 9000
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
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 build/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 build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.1-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-prod"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-prod"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-prod"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
|
\
|
||||||
|
# Setup Supervisor
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
101
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-prod"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# Fix: rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||||
|
&& sed -i'' 's/.*imklog.*//g' /etc/rsyslog.conf \
|
||||||
|
\
|
||||||
|
# Setup Supervisor
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
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
|
mod="$( echo "${mod}" | xargs )" # trim
|
||||||
|
|
||||||
# Find all config files that enable that module
|
# Find all config files that enable that module
|
||||||
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}\.so" "${cfg_path}" || true )"
|
files="$( grep -Er "^(zend_)?extension.*(=|/)${mod}(\\.so)?\$" "${cfg_path}" || true )"
|
||||||
|
|
||||||
if [ -n "${files}" ]; then
|
if [ -n "${files}" ]; then
|
||||||
while read -r f; do
|
while read -r f; do
|
||||||
@@ -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 -e
|
||||||
set -u
|
set -u
|
||||||
set -p pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -16,38 +16,38 @@ set -p pipefail
|
|||||||
# MY_GID
|
# MY_GID
|
||||||
|
|
||||||
# Path to scripts to source
|
# Path to scripts to source
|
||||||
CONFIG_DIR="/docker-entrypoint.d"
|
DVL_CONFIG_DIR="/docker-entrypoint.d"
|
||||||
|
|
||||||
# php.ini.d directory
|
# php.ini.d directory
|
||||||
PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
||||||
|
|
||||||
# php-fpm conf.d directory
|
# php-fpm conf.d directory
|
||||||
PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
|
||||||
|
|
||||||
# This is the log file for any mail related functions
|
|
||||||
PHP_MAIL_LOG="/var/log/mail.log"
|
|
||||||
|
|
||||||
# This file holds error and access log definitions
|
# This file holds error and access log definitions
|
||||||
PHP_FPM_CONF_LOGFILE="${PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
|
||||||
PHP_INI_CONF_LOGFILE="${PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
|
||||||
|
|
||||||
# PHP-FPM log dir
|
# PHP-FPM log dir
|
||||||
FPM_LOG_DIR="/var/log/php"
|
DVL_FPM_LOG_DIR="/var/log/php"
|
||||||
|
|
||||||
|
# This is the log file for any mail related functions
|
||||||
|
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
|
||||||
|
|
||||||
# Custom ini dir (to be copied to actual ini dir)
|
# Custom ini dir (to be copied to actual ini dir)
|
||||||
PHP_CUST_INI_DIR="/etc/php-custom.d"
|
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||||
|
|
||||||
# Custom PHP-FPM dir (to be copied to actual FPM conf dir)
|
# Custom PHP-FPM dir (to be copied to actual FPM conf dir)
|
||||||
PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
|
DVL_PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
|
||||||
|
|
||||||
# Supervisord config directory
|
# Supervisord config directory
|
||||||
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
DVL_SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Source libs
|
### Source libs
|
||||||
###
|
###
|
||||||
init="$( find "${CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
|
init="$( find "${DVL_CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
|
||||||
for f in ${init}; do
|
for f in ${init}; do
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
. "${f}"
|
. "${f}"
|
||||||
@@ -76,7 +76,7 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
|
|||||||
###
|
###
|
||||||
### Set timezone
|
### Set timezone
|
||||||
###
|
###
|
||||||
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
set_timezone "TIMEZONE" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -92,9 +92,9 @@ fi
|
|||||||
###
|
###
|
||||||
set_docker_logs \
|
set_docker_logs \
|
||||||
"DOCKER_LOGS" \
|
"DOCKER_LOGS" \
|
||||||
"${FPM_LOG_DIR}" \
|
"${DVL_FPM_LOG_DIR}" \
|
||||||
"${PHP_FPM_CONF_LOGFILE}" \
|
"${DVL_PHP_FPM_CONF_LOGFILE}" \
|
||||||
"${PHP_INI_CONF_LOGFILE}" \
|
"${DVL_PHP_INI_CONF_LOGFILE}" \
|
||||||
"${MY_USER}" \
|
"${MY_USER}" \
|
||||||
"${MY_GROUP}" \
|
"${MY_GROUP}" \
|
||||||
"${DEBUG_LEVEL}"
|
"${DEBUG_LEVEL}"
|
||||||
@@ -105,10 +105,10 @@ set_docker_logs \
|
|||||||
###
|
###
|
||||||
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
|
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
|
||||||
# PHP mail function should log to stderr
|
# PHP mail function should log to stderr
|
||||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
|
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
|
||||||
else
|
else
|
||||||
# PHP mail function should log to file
|
# PHP mail function should log to file
|
||||||
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
|
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${DVL_PHP_INI_DIR}" "${DVL_PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
|
|||||||
supervisor_add_service \
|
supervisor_add_service \
|
||||||
"socat-${lport}-${rhost}-${rport}" \
|
"socat-${lport}-${rhost}-${rport}" \
|
||||||
"/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \
|
"/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" \
|
||||||
"${SUPERVISOR_CONFD}" \
|
"${DVL_SUPERVISOR_CONFD}" \
|
||||||
"${DEBUG_LEVEL}"
|
"${DEBUG_LEVEL}"
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -138,31 +138,31 @@ done
|
|||||||
###
|
###
|
||||||
### Supervisor: rsyslogd & postfix
|
### Supervisor: rsyslogd & postfix
|
||||||
###
|
###
|
||||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
|
||||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
|
||||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Supervisor: php-fpm
|
### Supervisor: php-fpm
|
||||||
###
|
###
|
||||||
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy custom *.ini files
|
### Copy custom *.ini files
|
||||||
###
|
###
|
||||||
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
copy_ini_files "${DVL_PHP_CUST_INI_DIR}" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Copy custom PHP-FPM *.conf files
|
### Copy custom PHP-FPM *.conf files
|
||||||
###
|
###
|
||||||
if [ "${PHP_VERSION}" = "5.2" ]; then
|
if [ "${PHP_VERSION}" = "5.2" ]; then
|
||||||
copy_fpm_5_2_conf_file "${PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
|
copy_fpm_5_2_conf_file "${DVL_PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
|
||||||
else
|
else
|
||||||
copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}"
|
copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -178,8 +178,16 @@ enable_modules "ENABLE_MODULES" "${DEBUG_LEVEL}"
|
|||||||
disable_modules "DISABLE_MODULES" "${DEBUG_LEVEL}"
|
disable_modules "DISABLE_MODULES" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Run custom user supplied scripts
|
||||||
|
###
|
||||||
|
execute_custom_scripts "/startup.1.d" "${DEBUG_LEVEL}"
|
||||||
|
execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
###
|
###
|
||||||
### Startup
|
### Startup
|
||||||
###
|
###
|
||||||
log "info" "Starting supervisord" "${DEBUG_LEVEL}"
|
log "info" "Starting supervisord" "${DEBUG_LEVEL}"
|
||||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
exec "${@}"
|
||||||
|
|||||||
@@ -22,29 +22,22 @@ set -o pipefail
|
|||||||
###
|
###
|
||||||
### Variables
|
### Variables
|
||||||
###
|
###
|
||||||
if [ -f "/etc/alpine-release" ]; then
|
MAILLOG="/var/log/mail.log"
|
||||||
MAILLOG="/var/log/maillog"
|
|
||||||
elif [ -f "/etc/debian_version" ]; then
|
|
||||||
MAILLOG="/var/log/mail.log"
|
|
||||||
else
|
|
||||||
MAILLOG="/var/log/maillog"
|
|
||||||
fi
|
|
||||||
|
|
||||||
MAILPID="/var/spool/postfix/pid/master.pid"
|
MAILPID="/var/spool/postfix/pid/master.pid"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Sanity checks
|
### Sanity checks
|
||||||
###
|
###
|
||||||
if ! command -v pidof >/dev/null 2>&1; then
|
if ! command -v pgrep >/dev/null 2>&1; then
|
||||||
echo "pidof is required for cleaning up tail command."
|
echo "pgrep is required for cleaning up tail command."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Give rsyslogd some time to start up
|
# Give rsyslogd some time to start up
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
if ! pidof rsyslogd >/dev/null 2>&1; then
|
if ! pgrep rsyslogd >/dev/null 2>&1; then
|
||||||
echo "rsyslogd is not running, but required for mail logging."
|
echo "rsyslogd is not running, but required for mail logging."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ pidfile = /var/run/supervisord.pid
|
|||||||
childlogdir = /var/log/supervisor
|
childlogdir = /var/log/supervisor
|
||||||
|
|
||||||
[include]
|
[include]
|
||||||
files = /etc/supervisor/conf.d/*.conf
|
files = /etc/supervisor/conf.d/*.conf /etc/supervisor/custom.d/*.conf
|
||||||
|
|||||||
@@ -2,16 +2,38 @@
|
|||||||
FROM devilbox/php-fpm:5.2-prod
|
FROM devilbox/php-fpm:5.2-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.2 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.2-work" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -23,35 +45,32 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
###
|
###
|
||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
\
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
|
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \
|
\
|
||||||
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
binutils \
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
@@ -60,7 +79,9 @@ RUN set -x \
|
|||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -68,32 +89,30 @@ RUN set -x \
|
|||||||
jq \
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev \
|
||||||
libssl-dev\
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
nodejs \
|
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
python-cffi \
|
|
||||||
python-dev \
|
|
||||||
python-pip \
|
|
||||||
python-wheel \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -103,29 +122,81 @@ RUN set -x \
|
|||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
wkhtmltopdf \
|
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# Get newer pip version
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& pip install --upgrade pip \
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
###
|
||||||
# ansible
|
### Install custom software
|
||||||
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
###
|
||||||
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
RUN set -eux \
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython-dev \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
\
|
\
|
||||||
# awesomeci
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
&& cd /usr/local/src/awesome-ci \
|
&& cd /usr/local/src/awesome-ci \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -134,47 +205,28 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/awesome-ci \
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
\
|
\
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
\
|
||||||
&& gem install mdl \
|
# -------------------- gitflow --------------------
|
||||||
&& gem install scss_lint \
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# gitflow
|
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
\
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \
|
# -------------------- linkcheck --------------------
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# linkcheck
|
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
|
||||||
&& chmod +x /usr/local/bin/linkcheck \
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
\
|
\
|
||||||
# linuxbrew
|
\
|
||||||
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
# -------------------- mhsendmail --------------------
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
fi \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
|
||||||
\
|
\
|
||||||
# mhsendmail
|
\
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
# -------------------- mysqldumpsecure --------------------
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
|
||||||
\
|
|
||||||
# mysqldumpsecure
|
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
&& cd /usr/local/src/mysqldump-secure \
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -196,58 +248,330 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
\
|
\
|
||||||
# phpcs
|
\
|
||||||
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
# phpcbf
|
\
|
||||||
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
# sass
|
\
|
||||||
&& gem install sass \
|
# -------------------- wkhtmltopdf --------------------
|
||||||
# webpack
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& rm -rf /tmp/y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
# yamllint
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
\
|
fi \
|
||||||
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
# cleanup
|
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
|
||||||
&& rm -rf /home/${MY_USER}/.composer \
|
|
||||||
&& rm -rf /home/${MY_USER}/.config \
|
|
||||||
&& rm -rf /home/${MY_USER}/.drush \
|
|
||||||
&& rm -rf /home/${MY_USER}/.gem \
|
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
|
||||||
&& rm -rf /home/${MY_USER}/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /root/.*json \
|
|
||||||
&& rm -rf /root/.cache \
|
|
||||||
&& rm -rf /root/.composer \
|
|
||||||
&& rm -rf /root/.config \
|
|
||||||
&& rm -rf /root/.drush \
|
|
||||||
&& rm -rf /root/.gem \
|
|
||||||
&& rm -rf /root/.npm \
|
|
||||||
&& rm -rf /root/.subversion \
|
|
||||||
&& rm -rf /root/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /tmp/* \
|
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
\
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -255,7 +579,10 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -273,7 +600,7 @@ RUN \
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -289,26 +616,102 @@ RUN set -x \
|
|||||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
&& rm -f /usr/local/etc/php/php.ini
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
# -------------------- Software --------------------
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
pg_isready --version; \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
fi \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
else \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
pg_isready --version; \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
fi \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
\
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& if echo '5.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
&& true
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -323,14 +726,9 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
|||||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/bashrc-devilbox.d
|
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /shared/backups
|
VOLUME /shared/backups
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
@@ -351,4 +749,5 @@ WORKDIR /shared/httpd
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -2,16 +2,38 @@
|
|||||||
FROM devilbox/php-fpm:5.3-prod
|
FROM devilbox/php-fpm:5.3-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.3 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.3-work" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -23,35 +45,32 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
###
|
###
|
||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
\
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
|
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \
|
\
|
||||||
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
binutils \
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
@@ -60,7 +79,9 @@ RUN set -x \
|
|||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -68,32 +89,30 @@ RUN set -x \
|
|||||||
jq \
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev \
|
||||||
libssl-dev\
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
nodejs \
|
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
python-cffi \
|
|
||||||
python-dev \
|
|
||||||
python-pip \
|
|
||||||
python-wheel \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -103,31 +122,93 @@ RUN set -x \
|
|||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
wkhtmltopdf \
|
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# Get newer pip version
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& pip install --upgrade pip \
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
###
|
||||||
# composer
|
### Install custom software
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
###
|
||||||
# ansible
|
RUN set -eux \
|
||||||
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
# -------------------- composer --------------------
|
||||||
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
\
|
\
|
||||||
# awesomeci
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
\
|
||||||
|
&& ln -sf /usr/local/bin/composer-1 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython-dev \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
&& cd /usr/local/src/awesome-ci \
|
&& cd /usr/local/src/awesome-ci \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -136,64 +217,42 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/awesome-ci \
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
\
|
\
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
\
|
||||||
&& gem install mdl \
|
# -------------------- drush7 --------------------
|
||||||
&& gem install scss_lint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# codeception
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
|
||||||
\
|
|
||||||
# drush7
|
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
&& cd /usr/local/src/drush7 \
|
&& cd /usr/local/src/drush7 \
|
||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush7/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush7/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
\
|
\
|
||||||
# gitflow
|
\
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
\
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \
|
# -------------------- linkcheck --------------------
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# linkcheck
|
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
|
||||||
&& chmod +x /usr/local/bin/linkcheck \
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
\
|
\
|
||||||
# linuxbrew
|
\
|
||||||
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
# -------------------- mhsendmail --------------------
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
fi \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
|
||||||
\
|
\
|
||||||
# mhsendmail
|
\
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
# -------------------- mysqldumpsecure --------------------
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
|
||||||
\
|
|
||||||
# mysqldumpsecure
|
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
&& cd /usr/local/src/mysqldump-secure \
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -215,7 +274,8 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
\
|
\
|
||||||
# phalcon
|
\
|
||||||
|
# -------------------- phalcon --------------------
|
||||||
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
&& cd /usr/local/src/phalcon-devtools \
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
&& git checkout v2.0.7 \
|
&& git checkout v2.0.7 \
|
||||||
@@ -226,65 +286,353 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
\
|
\
|
||||||
# phpcs
|
\
|
||||||
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
# phpcbf
|
\
|
||||||
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
# phpunit
|
\
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpunit --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
# sass
|
\
|
||||||
&& gem install sass \
|
# -------------------- wkhtmltopdf --------------------
|
||||||
# webpack
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
&& rm -rf /tmp/y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
# wpcli
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& curl https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
|
||||||
\
|
|
||||||
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
# cleanup
|
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
|
||||||
&& rm -rf /home/${MY_USER}/.composer \
|
|
||||||
&& rm -rf /home/${MY_USER}/.config \
|
|
||||||
&& rm -rf /home/${MY_USER}/.drush \
|
|
||||||
&& rm -rf /home/${MY_USER}/.gem \
|
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
|
||||||
&& rm -rf /home/${MY_USER}/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /root/.*json \
|
|
||||||
&& rm -rf /root/.cache \
|
|
||||||
&& rm -rf /root/.composer \
|
|
||||||
&& rm -rf /root/.config \
|
|
||||||
&& rm -rf /root/.drush \
|
|
||||||
&& rm -rf /root/.gem \
|
|
||||||
&& rm -rf /root/.npm \
|
|
||||||
&& rm -rf /root/.subversion \
|
|
||||||
&& rm -rf /root/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /tmp/* \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- prestissimo --------------------
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
\
|
\
|
||||||
&& (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)
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -292,7 +640,10 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -310,7 +661,7 @@ RUN \
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -326,32 +677,109 @@ RUN set -x \
|
|||||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
&& rm -f /usr/local/etc/php/php.ini
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
# -------------------- Software --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.3' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
\
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
# -------------------- Composer --------------------
|
||||||
&& true
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -366,14 +794,9 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
|||||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/bashrc-devilbox.d
|
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /shared/backups
|
VOLUME /shared/backups
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
@@ -394,4 +817,5 @@ WORKDIR /shared/httpd
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -2,16 +2,38 @@
|
|||||||
FROM devilbox/php-fpm:5.4-prod
|
FROM devilbox/php-fpm:5.4-prod
|
||||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
###
|
###
|
||||||
### Labels
|
### Labels
|
||||||
###
|
###
|
||||||
LABEL \
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
name="cytopia's PHP-FPM 5.4 Image" \
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
image="devilbox/php-fpm" \
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
tag="5.4-work" \
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
vendor="devilbox" \
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
license="MIT"
|
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-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -23,35 +45,32 @@ ENV BASH_PROFILE=".bashrc"
|
|||||||
###
|
###
|
||||||
### Install Tools
|
### Install Tools
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
dirmngr \
|
dirmngr \
|
||||||
gnupg \
|
gnupg \
|
||||||
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
\
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
|
||||||
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
|
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \
|
\
|
||||||
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
|
||||||
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
||||||
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
|
||||||
ack-grep \
|
ack-grep \
|
||||||
aspell \
|
aspell \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
bash-completion \
|
bash-completion \
|
||||||
binutils \
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
build-essential \
|
build-essential \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
coreutils \
|
coreutils \
|
||||||
curl \
|
|
||||||
dnsutils \
|
dnsutils \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
file \
|
file \
|
||||||
@@ -60,7 +79,9 @@ RUN set -x \
|
|||||||
git \
|
git \
|
||||||
git-flow \
|
git-flow \
|
||||||
git-svn \
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
graphviz \
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
hostname \
|
hostname \
|
||||||
htop \
|
htop \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
@@ -68,32 +89,30 @@ RUN set -x \
|
|||||||
jq \
|
jq \
|
||||||
less \
|
less \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libffi-dev\
|
libffi-dev \
|
||||||
libssl-dev\
|
libssl-dev \
|
||||||
libyaml-dev \
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
make \
|
make \
|
||||||
mongodb-org-shell \
|
|
||||||
mongodb-org-tools \
|
|
||||||
moreutils \
|
moreutils \
|
||||||
|
\
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
netcat \
|
netcat \
|
||||||
nodejs \
|
|
||||||
openssh-client \
|
openssh-client \
|
||||||
patch \
|
patch \
|
||||||
patchelf \
|
patchelf \
|
||||||
postgresql-client \
|
|
||||||
python-cffi \
|
|
||||||
python-dev \
|
|
||||||
python-pip \
|
|
||||||
python-wheel \
|
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rsync \
|
rsync \
|
||||||
rubygems \
|
rubygems \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
shellcheck \
|
shellcheck \
|
||||||
silversearcher-ag \
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
subversion \
|
subversion \
|
||||||
sudo \
|
sudo \
|
||||||
tig \
|
tig \
|
||||||
@@ -103,31 +122,93 @@ RUN set -x \
|
|||||||
w3m \
|
w3m \
|
||||||
wget \
|
wget \
|
||||||
whois \
|
whois \
|
||||||
wkhtmltopdf \
|
|
||||||
xz-utils \
|
xz-utils \
|
||||||
yarn \
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
zsh \
|
zsh \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
\
|
\
|
||||||
# Get newer pip version
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& pip install --upgrade pip \
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
|
||||||
|
|
||||||
|
|
||||||
RUN set -x \
|
###
|
||||||
# composer
|
### Install custom software
|
||||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
###
|
||||||
# ansible
|
RUN set -eux \
|
||||||
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
|
# -------------------- composer --------------------
|
||||||
&& /usr/local/bin/pip install --no-cache-dir ansible \
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.2.x" \
|
||||||
\
|
\
|
||||||
# awesomeci
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
\
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython-dev \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& apt-get update \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-clients; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
&& cd /usr/local/src/awesome-ci \
|
&& cd /usr/local/src/awesome-ci \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -136,90 +217,71 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/awesome-ci \
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
\
|
\
|
||||||
&& gem install mixlib-config -v 2.2.4 \
|
\
|
||||||
&& gem install mdl \
|
# -------------------- deployer --------------------
|
||||||
&& gem install scss_lint \
|
&& curl -sS -k -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y eslint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y jsonlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y mdlint \
|
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y gulp \
|
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# codeception
|
|
||||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
|
||||||
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
|
||||||
\
|
|
||||||
# deployer
|
|
||||||
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
|
||||||
&& chmod +x /usr/local/bin/dep \
|
&& chmod +x /usr/local/bin/dep \
|
||||||
# drush7
|
\
|
||||||
|
# -------------------- drush7 --------------------
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||||
&& cd /usr/local/src/drush7 \
|
&& cd /usr/local/src/drush7 \
|
||||||
&& git checkout 7.4.0 \
|
&& git checkout 7.4.0 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
|
||||||
&& rm -rf /usr/local/src/drush7/.git \
|
&& rm -rf /usr/local/src/drush7/.git \
|
||||||
&& rm -rf /usr/local/src/drush7/docs \
|
&& rm -rf /usr/local/src/drush7/docs \
|
||||||
&& rm -rf /usr/local/src/drush7/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush7/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
\
|
\
|
||||||
# drush8
|
\
|
||||||
|
# -------------------- drush8 --------------------
|
||||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||||
&& cd /usr/local/src/drush8 \
|
&& cd /usr/local/src/drush8 \
|
||||||
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
|
||||||
&& rm -rf /usr/local/src/drush8/.git \
|
&& rm -rf /usr/local/src/drush8/.git \
|
||||||
&& rm -rf /usr/local/src/drush8/docs \
|
&& rm -rf /usr/local/src/drush8/docs \
|
||||||
&& rm -rf /usr/local/src/drush8/examples \
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
&& rm -rf /usr/local/src/drush8/misc \
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
\
|
\
|
||||||
# gitflow
|
\
|
||||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
&& cd /tmp/gitflow \
|
&& cd /tmp/gitflow \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd / && rm -rf /tmp/gitflow \
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
\
|
\
|
||||||
# grunt
|
\
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt \
|
# -------------------- laravel --------------------
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y grunt-cli \
|
|
||||||
&& rm -rf /tmp/y \
|
|
||||||
\
|
|
||||||
# laravel
|
|
||||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
&& cd /usr/local/src/laravel-installer \
|
&& cd /usr/local/src/laravel-installer \
|
||||||
&& git checkout v1.3.7 \
|
&& git checkout v1.3.7 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
|
||||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
\
|
\
|
||||||
# linkcheck
|
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
&& chmod +x /usr/local/bin/linkcheck \
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
\
|
\
|
||||||
# linuxbrew
|
\
|
||||||
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
# -------------------- mhsendmail --------------------
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
fi \
|
||||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
|
||||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
|
||||||
\
|
\
|
||||||
# mhsendmail
|
\
|
||||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
# -------------------- mysqldumpsecure --------------------
|
||||||
&& chmod +x mhsendmail_linux_amd64 \
|
|
||||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
|
||||||
\
|
|
||||||
# mysqldumpsecure
|
|
||||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
&& cd /usr/local/src/mysqldump-secure \
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
@@ -241,79 +303,374 @@ RUN set -x \
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
\
|
\
|
||||||
# phalcon
|
\
|
||||||
|
# -------------------- phalcon --------------------
|
||||||
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
&& cd /usr/local/src/phalcon-devtools \
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
&& git checkout v2.0.9 \
|
&& git checkout v2.0.9 \
|
||||||
\
|
\
|
||||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
||||||
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
&& ln -sf /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
\
|
\
|
||||||
# phpcs
|
\
|
||||||
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
\
|
\
|
||||||
# phpcbf
|
\
|
||||||
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
\
|
\
|
||||||
# phpunit
|
\
|
||||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpunit --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
\
|
\
|
||||||
# sass
|
\
|
||||||
&& gem install sass \
|
# -------------------- symfony --------------------
|
||||||
# symfony
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_$(dpkg-architecture --query DEB_HOST_ARCH)" > /usr/local/bin/symfony \
|
||||||
&& chmod +x /usr/local/bin/symfony \
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
# webpack
|
\
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack \
|
# -------------------- wkhtmltopdf --------------------
|
||||||
&& yarn global add --prod --non-interactive --link-duplicates --silent --cache-folder /tmp/y webpack-cli \
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
|
||||||
&& rm -rf /tmp/y \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
\
|
\
|
||||||
# wpcli
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar -L -o /usr/local/bin/wp \
|
||||||
&& chmod +x /usr/local/bin/wp \
|
&& chmod +x /usr/local/bin/wp \
|
||||||
# yamllint
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
|
|
||||||
\
|
|
||||||
&& /usr/local/bin/pip install --no-cache-dir yamllint \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
\
|
|
||||||
# cleanup
|
|
||||||
&& rm -rf /home/${MY_USER}/.*json \
|
|
||||||
&& rm -rf /home/${MY_USER}/.cache \
|
|
||||||
&& rm -rf /home/${MY_USER}/.composer \
|
|
||||||
&& rm -rf /home/${MY_USER}/.config \
|
|
||||||
&& rm -rf /home/${MY_USER}/.drush \
|
|
||||||
&& rm -rf /home/${MY_USER}/.gem \
|
|
||||||
&& rm -rf /home/${MY_USER}/.npm \
|
|
||||||
&& rm -rf /home/${MY_USER}/.subversion \
|
|
||||||
&& rm -rf /home/${MY_USER}/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /root/.*json \
|
|
||||||
&& rm -rf /root/.cache \
|
|
||||||
&& rm -rf /root/.composer \
|
|
||||||
&& rm -rf /root/.config \
|
|
||||||
&& rm -rf /root/.drush \
|
|
||||||
&& rm -rf /root/.gem \
|
|
||||||
&& rm -rf /root/.npm \
|
|
||||||
&& rm -rf /root/.subversion \
|
|
||||||
&& rm -rf /root/.v8* \
|
|
||||||
\
|
|
||||||
&& rm -rf /tmp/* \
|
|
||||||
\
|
|
||||||
\
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- codeception --------------------
|
||||||
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \
|
||||||
|
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
|
||||||
\
|
\
|
||||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
# -------------------- prestissimo --------------------
|
||||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
&& COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \
|
||||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- ffi --------------------
|
||||||
|
&& gem install ffi -v 1.12.2 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -321,7 +678,10 @@ RUN set -x \
|
|||||||
###
|
###
|
||||||
RUN \
|
RUN \
|
||||||
{ \
|
{ \
|
||||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
echo "export PATH"; \
|
echo "export PATH"; \
|
||||||
echo ". /etc/bash-devilbox"; \
|
echo ". /etc/bash-devilbox"; \
|
||||||
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
@@ -339,7 +699,7 @@ RUN \
|
|||||||
###
|
###
|
||||||
### Verify
|
### Verify
|
||||||
###
|
###
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
&& /usr/local/sbin/php-fpm --test \
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
@@ -355,36 +715,114 @@ RUN set -x \
|
|||||||
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
&& rm -f /usr/local/etc/php/php.ini
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -eux \
|
||||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
# -------------------- Software --------------------
|
||||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
&& composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
&& mdl --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
&& eslint -v | grep -E '[.0-9]+' \
|
|
||||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& mdlint --version | grep -E '[.0-9]+' \
|
|
||||||
&& gulp --version | grep -E '[.0-9]+' \
|
|
||||||
\
|
\
|
||||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '5.4' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||||
&& git-flow version | grep -E '[.0-9]+' \
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
&& grunt --version | grep -E '[.0-9]+' \
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
&& phalcon commands | grep -E '[0-9][.0-9]+' \
|
||||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phalcon commands | grep -E '[.0-9]+' \
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
&& phpcs --version | grep -E 'version [.0-9]+' \
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
&& phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
|
||||||
&& sass --version | grep -E '[.0-9]+' \
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
&& webpack --version | grep -E '[.0-9]+' \
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
\
|
||||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
# -------------------- Composer --------------------
|
||||||
&& true
|
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -399,14 +837,9 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
|||||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Volumes
|
### Volumes
|
||||||
###
|
###
|
||||||
VOLUME /etc/bashrc-devilbox.d
|
|
||||||
VOLUME /etc/php-custom.d
|
|
||||||
VOLUME /etc/php-fpm-custom.d
|
|
||||||
VOLUME /etc/php-modules.d
|
|
||||||
VOLUME /shared/backups
|
VOLUME /shared/backups
|
||||||
VOLUME /var/log/php
|
VOLUME /var/log/php
|
||||||
VOLUME /var/mail
|
VOLUME /var/mail
|
||||||
@@ -427,4 +860,5 @@ WORKDIR /shared/httpd
|
|||||||
###
|
###
|
||||||
### Entrypoint
|
### Entrypoint
|
||||||
###
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|||||||
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
804
Dockerfiles/work/Dockerfile-8.0
Normal file
804
Dockerfiles/work/Dockerfile-8.0
Normal file
@@ -0,0 +1,804 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.0-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.0-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
moreutils \
|
||||||
|
\
|
||||||
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
\
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- laravel --------------------
|
||||||
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
|
&& cd /usr/local/src/laravel-installer \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
|
\
|
||||||
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v3.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_$(dpkg-architecture --query DEB_HOST_ARCH)" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.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
|
||||||
|
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '8.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '8.0' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.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/*.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"]
|
||||||
804
Dockerfiles/work/Dockerfile-8.1
Normal file
804
Dockerfiles/work/Dockerfile-8.1
Normal file
@@ -0,0 +1,804 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.1-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.1-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.1-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.1-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
moreutils \
|
||||||
|
\
|
||||||
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
\
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- laravel --------------------
|
||||||
|
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
|
&& cd /usr/local/src/laravel-installer \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||||
|
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
|
||||||
|
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||||
|
\
|
||||||
|
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- php-cs-fixer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://cs.symfony.com/download/php-cs-fixer-v3.phar > /usr/local/bin/php-cs-fixer \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_$(dpkg-architecture --query DEB_HOST_ARCH)" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '8.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '8.1' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.1.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.1.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||||
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /shared/backups
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Where to start inside the container
|
||||||
|
###
|
||||||
|
WORKDIR /shared/httpd
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
786
Dockerfiles/work/Dockerfile-8.2
Normal file
786
Dockerfiles/work/Dockerfile-8.2
Normal file
@@ -0,0 +1,786 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
ARG ARCH
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
moreutils \
|
||||||
|
\
|
||||||
|
mariadb-client \
|
||||||
|
\
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& COMPOSER_1_VERSION="latest-1.x" \
|
||||||
|
&& COMPOSER_2_VERSION="latest-2.x" \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
\
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& NVM_VERSION="$( \
|
||||||
|
curl -sS 'https://github.com/nvm-sh/nvm/releases' \
|
||||||
|
| grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \
|
||||||
|
| grep -Eo 'v?[.0-9]+' \
|
||||||
|
| sort -V \
|
||||||
|
| tail -1 \
|
||||||
|
)" \
|
||||||
|
&& mkdir -p /opt/nvm \
|
||||||
|
\
|
||||||
|
&& curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \
|
||||||
|
| NVM_DIR="/opt/nvm" bash \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox "/opt/nvm" \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; corepack enable' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pgsql_client --------------------
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
postgresql-client \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- mongo_client --------------------
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 20691EEC35216C63CAF66CE1656408E390CFB1F5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& apt-get update \
|
||||||
|
\
|
||||||
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
|
mongodb-org-tools \
|
||||||
|
mongodb-org-shell \
|
||||||
|
\
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_$(dpkg-architecture --query DEB_HOST_ARCH)" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& if [ -f "/opt/nvm/nvm.sh" ]; then \
|
||||||
|
ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
&& if echo '8.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
pg_isready --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& if echo '8.2' | grep -E '^(5.2|5.3|5.4|5.5|5.6|7.0)$' >/dev/null; then \
|
||||||
|
if [ "$(dpkg-architecture --query DEB_BUILD_ARCH)" = "amd64" ]; then \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
else \
|
||||||
|
mongofiles --version; \
|
||||||
|
fi \
|
||||||
|
\
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& if [ "$(dpkg-architecture --query DEB_HOST_ARCH)" = "amd64" ]; then wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"; fi \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.*json || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.ansible || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.console || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.drush || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.gem || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.local || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.node || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.pm2 || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.subversion || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.v8* || true) \
|
||||||
|
&& (rm -rf /home/devilbox/node_modules || true) \
|
||||||
|
&& (rm -rf /home/devilbox/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.*json || true) \
|
||||||
|
&& (rm -rf /root/.ansible || true) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.console || true) \
|
||||||
|
&& (rm -rf /root/.drush || true) \
|
||||||
|
&& (rm -rf /root/.gem || true) \
|
||||||
|
&& (rm -rf /root/.local || true) \
|
||||||
|
&& (rm -rf /root/.node || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
&& (rm -rf /root/.pm2 || true) \
|
||||||
|
&& (rm -rf /root/.subversion || true) \
|
||||||
|
&& (rm -rf /root/.v8* || true) \
|
||||||
|
&& (rm -rf /root/node_modules || true) \
|
||||||
|
&& (rm -rf /root/yarn.lock || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /tmp/* || true) \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||||
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /shared/backups
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Where to start inside the container
|
||||||
|
###
|
||||||
|
WORKDIR /shared/httpd
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -27,42 +27,33 @@ PS1="${_clr_usr}${PS1_USR}${_clr_off}@${_clr_ver}php-${PS1_PHP}${_clr_off} in ${
|
|||||||
|
|
||||||
# Show Intro
|
# Show Intro
|
||||||
echo
|
echo
|
||||||
echo "--------------------------------------------------------------------------------"
|
echo "------------------------------------------------------------------------------------------"
|
||||||
echo " _ _ _ _ "
|
echo " _ _ _ _ "
|
||||||
echo " | | (_) | | "
|
echo " | | (_) | | "
|
||||||
echo " __| | _____ ___| | |__ _____ __"
|
echo " __| | _____ ___| | |__ _____ __"
|
||||||
echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ \\/ /"
|
echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ \\/ /"
|
||||||
echo " | (_| | __/\\ V /| | | |_) | (_) > < "
|
echo " | (_| | __/\\ V /| | | |_) | (_) > < "
|
||||||
echo " \\__,_|\\___| \\_/ |_|_|_.__/ \\___/_/\\_\\"
|
echo " \\__,_|\\___| \\_/ |_|_|_.__/ \\___/_/\\_\\"
|
||||||
echo " "
|
echo " "
|
||||||
echo " http://devilbox.org"
|
echo " http://devilbox.org"
|
||||||
|
echo " https://devilbox.readthedocs.io"
|
||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo " | Available Tools | Project website |"
|
echo
|
||||||
echo " |------------------|------------------------------|"
|
echo " Available Tools"
|
||||||
echo " | awesome-ci | gh: cytopia/awesome-ci |"
|
echo " https://devilbox.readthedocs.io/en/latest/readings/available-tools.html"
|
||||||
echo " | composer | https://getcomposer.org |"
|
echo
|
||||||
echo " | drupal-console | https://drupalconsole.com |"
|
echo " How to work inside this PHP container"
|
||||||
echo " | drush | http://www.drush.org |"
|
echo " https://devilbox.readthedocs.io/en/latest/intermediate/work-inside-the-php-container.html"
|
||||||
echo " | eslint | https://eslint.org |"
|
|
||||||
echo " | git | https://git-scm.com |"
|
|
||||||
echo " | laravel | gh: laravel/installer |"
|
|
||||||
echo " | linuxbrew | http://linuxbrew.sh |"
|
|
||||||
echo " | mysqldump-secure | https://mysqldump-secure.org |"
|
|
||||||
echo " | node | https://nodejs.org |"
|
|
||||||
echo " | npm | https://www.npmjs.com |"
|
|
||||||
echo " | phalcon-devtools | gh: phalcon/phalcon-devtools |"
|
|
||||||
echo " | symfony installer| gh: symfony/symfony-installer|"
|
|
||||||
echo " | webpack | gh: webpack/webpack |"
|
|
||||||
echo " | wpcli | https://wp-cli.org |"
|
|
||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo " | Available Dirs | Description |"
|
|
||||||
echo " |------------------|------------------------------|"
|
|
||||||
echo " | /shared/httpd | Project base directory |"
|
|
||||||
echo " | /shared/backups | Backup directory |"
|
|
||||||
echo " | /var/mail | Email directory |"
|
|
||||||
echo " | /var/log | Log file directory |"
|
|
||||||
echo
|
echo
|
||||||
echo "--------------------------------------------------------------------------------"
|
echo " | Available Dirs | Description |"
|
||||||
|
echo " |------------------|------------------------------|"
|
||||||
|
echo " | /shared/httpd | Project base directory |"
|
||||||
|
echo " | /shared/backups | Backup directory |"
|
||||||
|
echo " | /var/mail | Email directory |"
|
||||||
|
echo " | /var/log | Log file directory |"
|
||||||
|
echo
|
||||||
|
echo "------------------------------------------------------------------------------------------"
|
||||||
echo
|
echo
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ set_mds_settings() {
|
|||||||
else
|
else
|
||||||
mds_pass_val="$( env_get "${mds_pass_var}" )"
|
mds_pass_val="$( env_get "${mds_pass_var}" )"
|
||||||
log "info" "\$${mds_pass_var} set for mysqldump-secure. Changing to '******'" "${debug}"
|
log "info" "\$${mds_pass_var} set for mysqldump-secure. Changing to '******'" "${debug}"
|
||||||
run "sed -i'' 's/^password.*/password = ${mds_pass_val}/g' ${mds_cnf}" "${debug}"
|
run "perl -pi -e 's/^password.*/password = ${mds_pass_val}/g' ${mds_cnf}" "${debug}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# MySQL host
|
# MySQL host
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user