Compare commits
902 Commits
Author | SHA1 | Date | |
---|---|---|---|
63fc1fde44 | |||
623ff66f40 | |||
5bf8be6303 | |||
c0a36a5a4d | |||
c0b28fc404 | |||
9e537ee16b | |||
fbae49b898 | |||
bc8772441b | |||
dba1594b05 | |||
2dd64aef55 | |||
23193babf4 | |||
fbdfc41927 | |||
7ea44ca25a | |||
76b71d264d | |||
c7289f7db3 | |||
e8d84cf9a3 | |||
4417083a80 | |||
0980523049 | |||
d8b3cb5a52 | |||
d34602ae29 | |||
cbbdb0a86b | |||
f5c80cd251 | |||
5b07fbb9c4 | |||
83a24efa70 | |||
a03c225e27 | |||
95965b12e7 | |||
58d7d4fa0b | |||
1f22e86d92 | |||
c8b526be13 | |||
b1cbd48221 | |||
d1f3bc8e5c | |||
9920397463 | |||
6f4664c579 | |||
254a9ae194 | |||
8ca26e6c06 | |||
6c8adbc195 | |||
329462a637 | |||
e105ec9569 | |||
76218808fd | |||
f18eb9728b | |||
d404555cf5 | |||
d964e2898c | |||
2d7b780e56 | |||
cf6a9ba2c9 | |||
8f6923531f | |||
61d7b18922 | |||
cde20c3ced | |||
f7dff0f72f | |||
1ec9244f7f | |||
176d4e8033 | |||
2deb9bf1cb | |||
b0edaf93a1 | |||
27af2bca8c | |||
61ac73e806 | |||
14ee775e39 | |||
1282c413fd | |||
ee2db98c61 | |||
739e8d3448 | |||
1286b7ef06 | |||
e0d7229e95 | |||
931f99ed0f | |||
fc3355a9cc | |||
53ca88714c | |||
1d420a2507 | |||
c7aa535598 | |||
5edf3f398b | |||
f6c5aa1801 | |||
a09144f02b | |||
9e4dfa2a0c | |||
99f7e65c99 | |||
e0dc683d3f | |||
eb0c941313 | |||
d27f4368ee | |||
7430a34dd5 | |||
d5647295ca | |||
b1e346383b | |||
913abc54f9 | |||
53e8229313 | |||
36c78369d5 | |||
acac6eb229 | |||
04f071555c | |||
03ff791e17 | |||
7c4f6dd7a9 | |||
f44a8e0ca0 | |||
ce7a29c662 | |||
bbff18c631 | |||
e07c128063 | |||
163eb1f73a | |||
30c8afafa2 | |||
3e771dbcfc | |||
a1bda23cd9 | |||
e6d866b8a6 | |||
35ffd02b44 | |||
d03ead34a2 | |||
d8c36ab860 | |||
2689638d7d | |||
fa7d3c239c | |||
22032974c9 | |||
4480962922 | |||
cc81e57206 | |||
5c41a4f3e9 | |||
796b46cf5a | |||
d7765a7b10 | |||
156d124db0 | |||
afdf2661bd | |||
a1af01b137 | |||
1519c80036 | |||
441146b325 | |||
0ed5487ed7 | |||
ca9d244396 | |||
cf46b87a01 | |||
0af2115658 | |||
c1e8e955a1 | |||
0ffea858d6 | |||
549094d7d2 | |||
7219b3543a | |||
1dac382827 | |||
876336bc1a | |||
538b6aa0cd | |||
c886831613 | |||
9cfe5c6156 | |||
db02fe7570 | |||
436df887c9 | |||
919cde3a76 | |||
784aab2043 | |||
d5d9073863 | |||
6a3b3fac2d | |||
61576c0b1b | |||
70c1be4168 | |||
e101e4d5b2 | |||
4658820437 | |||
0bbfb2d228 | |||
86a4108ef4 | |||
20c85904c5 | |||
aaef73c84d | |||
876935452e | |||
00df369e96 | |||
902198ab05 | |||
2e2cb6df22 | |||
39469e1404 | |||
947a791ad2 | |||
aa84dd8616 | |||
b788a8bbfd | |||
89051de67d | |||
1b865dd153 | |||
8180804ae0 | |||
303dadf33d | |||
764e484599 | |||
e92f08e323 | |||
1acbebc2a3 | |||
b2ab970d04 | |||
679d2b0aba | |||
fbc2afee71 | |||
1962327de1 | |||
d8b2b8c233 | |||
0f65c60a89 | |||
8624335f61 | |||
7ef36daaba | |||
4ce25e95b4 | |||
20b0181b6d | |||
dc234b9b28 | |||
29483bab8c | |||
85c57a0b6f | |||
2f996450e5 | |||
1823060c4b | |||
6fa2b75bb7 | |||
2ec23122e7 | |||
a1e01ac19b | |||
eccc149f45 | |||
9cb7624da7 | |||
cd1c56c1e2 | |||
9d42ea6b9d | |||
b0bfa5f1d3 | |||
dcf6b6d9ac | |||
1d9cbd7c75 | |||
fd56c4dcda | |||
0351cf531b | |||
09e998b723 | |||
06d0105514 | |||
0cbc51bf72 | |||
08dfc9f816 | |||
b71f50bf83 | |||
7d1dc66f77 | |||
f3c934222f | |||
a90865d67c | |||
a0a5c85a54 | |||
a807caa30a | |||
bc27e96337 | |||
11912055ec | |||
3509473b89 | |||
5521f71428 | |||
339d47f303 | |||
600a6154b4 | |||
4673ba7b31 | |||
154249a08f | |||
5bffd43b55 | |||
0e9d044c6f | |||
21d203da73 | |||
a3cbfd71f5 | |||
33234fd3b5 | |||
f47e40b262 | |||
7199ae5a34 | |||
6caa4c5fb9 | |||
3fceba0709 | |||
75b3fa499e | |||
999118b674 | |||
4b2c440146 | |||
a4d3f9bd77 | |||
65444d39b6 | |||
5016e88515 | |||
e8eb97b398 | |||
66c61d9a72 | |||
d8f95bac2a | |||
ad316bab50 | |||
6e43dd804d | |||
ba1a83b40b | |||
34ad8acdbf | |||
d5ea58eb6e | |||
567756475d | |||
ad21cd225f | |||
f2f5aeabd6 | |||
0f4a417f4e | |||
42a960338b | |||
2e75c25c7f | |||
beec32498e | |||
573b8e0afd | |||
409f91662f | |||
185ba60a09 | |||
a03ce23bf5 | |||
fc8736773c | |||
d5efd5309e | |||
da3a7226bd | |||
cc20ac2421 | |||
402383e7b7 | |||
9250326664 | |||
51d253db21 | |||
69de0668e9 | |||
472df4d194 | |||
62b716f469 | |||
10ba847415 | |||
a0595491a2 | |||
7c88c33b29 | |||
808bd72d13 | |||
07410e80cf | |||
d1170f51c8 | |||
8158b6f50e | |||
97adef735a | |||
6e6284d00f | |||
890faa2f3c | |||
f6f37ec020 | |||
20464d1bd2 | |||
a5813de5bf | |||
aee1adb0a1 | |||
dd322a0e71 | |||
99c2c846ff | |||
d08177d2c2 | |||
b990af3353 | |||
b2c09f6b15 | |||
9e5fdda294 | |||
77bea30cb0 | |||
dac336e6a1 | |||
d142500216 | |||
ad1509dd62 | |||
9ab84c5174 | |||
6b6e2d5f86 | |||
3ad17eca0a | |||
f54e6baf02 | |||
59f3b574da | |||
0c41fceae1 | |||
76b95752bf | |||
101986c76f | |||
add78a19f4 | |||
a0c5ef75d2 | |||
06353031ac | |||
1f193a5310 | |||
b45bf46436 | |||
0586247e3f | |||
0f8891b56c | |||
ebeb9e43f3 | |||
52afd9ef62 | |||
31a4e29c81 | |||
067218e010 | |||
5ed3526e17 | |||
54e6d66c83 | |||
8a090f3e46 | |||
1e5d787a7e | |||
83140d9939 | |||
9b85ac6c2b | |||
871a9d032a | |||
805d7f94e8 | |||
c84a57cd13 | |||
e6817288f8 | |||
cd849dda21 | |||
21a5d5bf98 | |||
2ab11bf1af | |||
141d2dbe7f | |||
4d384c0a67 | |||
245515b41d | |||
9a9d30f173 | |||
99c7758799 | |||
164069c256 | |||
5773d270ca | |||
f810962d84 | |||
f5f23bed1b | |||
e694254fb0 | |||
c34d2d12b3 | |||
349be8b30e | |||
436e9e5a66 | |||
b445479c99 | |||
70e10a4953 | |||
1ab5b405a9 | |||
91784cbf8a | |||
415a6159f6 | |||
2cf368e2cc | |||
f08c3bda4d | |||
c5c4d19476 | |||
40796651f6 | |||
188a7d7624 | |||
3f1f60da91 | |||
21e3ef8c47 | |||
7876aa2360 | |||
dee66c2495 | |||
ce8bdb91cf | |||
f90a81ef8b | |||
23b8239cfa | |||
b7b7690bbe | |||
e054b622f3 | |||
c4aef8e901 | |||
47dc7c1eb9 | |||
8fc33f5bb9 | |||
8607f670c1 | |||
04105b912d | |||
a797d67f14 | |||
4169a9b357 | |||
00e43655bd | |||
8d0bd8505c | |||
dc5474d31b | |||
ab9f5aba6e | |||
cbd0f1de79 | |||
2a2d78e249 | |||
9b328cce1f | |||
43ba898df3 | |||
3b0f271782 | |||
327e79f902 | |||
e546c9c190 | |||
880c3684d7 | |||
27ec06bbf0 | |||
6fe3dc75b3 | |||
dd751c56b7 | |||
91d202dff4 | |||
ca376935e1 | |||
227bc37376 | |||
74ca3b82a1 | |||
d23c553313 | |||
16f88029e0 | |||
74217478e0 | |||
13f55ef796 | |||
715c2176b8 | |||
43bf67b77e | |||
4b5a1ef628 | |||
198c3906b2 | |||
9bd34ed665 | |||
76da02e779 | |||
a52a944003 | |||
4cffb2fc99 | |||
92dda4695c | |||
c42e039945 | |||
72d550e6e5 | |||
e1c3524f43 | |||
91131f0963 | |||
545d50105c | |||
61d3874736 | |||
03c7611010 | |||
48de39b1a1 | |||
2ca9d3c5c6 | |||
3b219d2974 | |||
e77480b69f | |||
b7f89e6b00 | |||
acbe7160d9 | |||
f53565f2a6 | |||
dfff0b2fa0 | |||
82a2681eed | |||
e792aa654e | |||
87e1bdeb92 | |||
f05fdc71d5 | |||
6e96b1c6f9 | |||
fad7c11d53 | |||
639b14445f | |||
2a74f1433c | |||
0b902e3e96 | |||
f27b3aa4be | |||
722f7d09c0 | |||
0077de28a1 | |||
d098f1f6ad | |||
4ea9cd0663 | |||
9de6d9b9e1 | |||
04b4af829f | |||
bf2dbca286 | |||
0b7cb81f47 | |||
368c85dc61 | |||
ae7dda9ef2 | |||
7e88fb56f1 | |||
807443455a | |||
c44338e370 | |||
b4ded4f21b | |||
3e5a6029ab | |||
ee205d1198 | |||
0fcb8b43cc | |||
7bd22f015e | |||
07acf291fa | |||
cfe6e254a7 | |||
5efda6714b | |||
a83477b439 | |||
00f8c3407e | |||
0aaa2c742e | |||
4ada536d68 | |||
222febadb5 | |||
0445d76d11 | |||
7fc3a9cb7a | |||
b738253a26 | |||
6e6a658a79 | |||
4bc6526c3c | |||
d4f9b04467 | |||
b9e982c112 | |||
ad3698670b | |||
71cc109334 | |||
0d804cd29a | |||
3fcebd49e7 | |||
86eccdb962 | |||
0f46659172 | |||
017fcf188b | |||
63c69231f7 | |||
4730ed1b78 | |||
c21c6760ac | |||
1c194f5c87 | |||
81b34a72eb | |||
fde265ed6a | |||
64029d9270 | |||
407c08017d | |||
2156139b5a | |||
e1ccd84c16 | |||
d139b6bc2e | |||
5e10abd536 | |||
c6a8500c44 | |||
b981168111 | |||
cd1c9c0d44 | |||
8e32b93264 | |||
a2ae141a75 | |||
f22ceb71ab | |||
6ea86fbce3 | |||
dec08ec2b1 | |||
98fba83331 | |||
694b39ddf4 | |||
d0167475ba | |||
3bdab382ea | |||
80f6e8b60c | |||
ba61566f28 | |||
9ae10d32ce | |||
cf136f891b | |||
59dff53176 | |||
34267ffc4d | |||
57918b69a7 | |||
c11658559a | |||
47c74d1334 | |||
e779bf96ab | |||
06ce5ca222 | |||
c06c28aa04 | |||
c1e80e3af4 | |||
a7c9232193 | |||
265bc13917 | |||
8d410e9c82 | |||
f56a585ab2 | |||
9b8d4806a8 | |||
73b95357ac | |||
65a8bbc6a4 | |||
7c1f3060bf | |||
45e1ecf3c0 | |||
c6b1eb016d | |||
c5005f54f7 | |||
cf5b1af31a | |||
8dea201b68 | |||
50a3e24db8 | |||
9835a20863 | |||
5bcb99dfb9 | |||
9877f0453e | |||
ff20333d8c | |||
a99281cda8 | |||
1342b696ea | |||
2fc0f3cb2e | |||
6c3b18340f | |||
de247a074e | |||
176dd74906 | |||
819b1eb3bc | |||
05dd1b0339 | |||
f0401f5047 | |||
be13fdba7f | |||
bd0f04bd80 | |||
f7ac8cf862 | |||
b47963c80d | |||
35183eff42 | |||
c5ccc2f4ff | |||
34ef36cd7e | |||
7138d7a13c | |||
c7695ca175 | |||
6f3c41b84d | |||
46852bc31b | |||
5a21337cc5 | |||
e2091cd309 | |||
1ead8aa060 | |||
7e393efbb6 | |||
beecbe758b | |||
1b1f6b7048 | |||
fd5bb38a8c | |||
5835d185f2 | |||
4fc85d499d | |||
23ee4f6679 | |||
4e486280f4 | |||
9e807e39ee | |||
894b0197e0 | |||
c2c30bfd0f | |||
152c896515 | |||
4682aff622 | |||
a31114955a | |||
f4ede08b9c | |||
eac717fb21 | |||
c05c675408 | |||
60998ed1e4 | |||
05879bdda2 | |||
70a7bdca19 | |||
a71d5a8548 | |||
9fa3733622 | |||
b8e657b68f | |||
8aaa074af2 | |||
3005dde240 | |||
b3922995e1 | |||
49e48edefd | |||
182386b514 | |||
bea122a1fd | |||
7fb00658cf | |||
ee03bb607f | |||
9abd7c30f2 | |||
6a4509c0ca | |||
7f5d9d07d1 | |||
a5c505bf28 | |||
427088e11b | |||
3467821c28 | |||
f9553dff4c | |||
8e556008d8 | |||
17ea7b313f | |||
dff0e82ddb | |||
1702a5cc09 | |||
f15bc8e6b7 | |||
903c77421c | |||
2bedfdd9d7 | |||
525c4313a0 | |||
01c358b6bc | |||
a0685705c0 | |||
98b2b2e47b | |||
eeee14338f | |||
a2edf57e3b | |||
881cbfb8c2 | |||
508e9ebd9e | |||
6cff904eba | |||
04770bc4ec | |||
1281490c39 | |||
3f7988060e | |||
615cb72eab | |||
e036e69da2 | |||
8989c73711 | |||
61144ab2d9 | |||
221edf4bb2 | |||
ca9c07eb76 | |||
8f7b1b7e9f | |||
3cc917c9de | |||
5a073ae841 | |||
8c1e71eca5 | |||
c0e823b8d2 | |||
8cb4c8d62e | |||
f765afd4c2 | |||
6ea49a0683 | |||
998aa1365e | |||
f2420ec52c | |||
fe254e86e3 | |||
53b7f75500 | |||
4150f0b140 | |||
d340b6e60f | |||
e7357eab83 | |||
110aa91c59 | |||
e5aef41dd2 | |||
ae048e6c66 | |||
a5f3a92eb4 | |||
655b9a1526 | |||
7ac37ecd35 | |||
792789e479 | |||
801ccd47d2 | |||
5c5f94600a | |||
b2e372054f | |||
0a23d53ee5 | |||
f6552aca97 | |||
e9806d9bca | |||
e56801846b | |||
f9e6acd4e1 | |||
b61ff4f484 | |||
8485add87a | |||
d3fb967f0f | |||
a36620c3bd | |||
cddc934e1e | |||
53b3ad0f7e | |||
fdcf9117ac | |||
f800a3221a | |||
a1d3eeb7e6 | |||
b2f7348552 | |||
ebeddcba23 | |||
dba37307b5 | |||
2af5b2ff49 | |||
93d5b318fe | |||
9ce470e14e | |||
38fb49bccc | |||
08896f9fb6 | |||
dcab211b07 | |||
76001daf71 | |||
30b626d43e | |||
586a225c11 | |||
c099a51d52 | |||
245ddf3441 | |||
0192346cf2 | |||
e4f4de47e7 | |||
69ccd74d2e | |||
a3c66fdecf | |||
9b8eee6a98 | |||
668acd66c1 | |||
b25215684b | |||
8e84fbbec2 | |||
1e650d8643 | |||
4977b0f92f | |||
2082659fb1 | |||
1fe2df73e4 | |||
05c7f9186a | |||
3801973b15 | |||
6d89424e91 | |||
b1c1e6e187 | |||
972bdd90a3 | |||
2af40b0ba1 | |||
5c0b8316b1 | |||
004e4354aa | |||
d99cf73bf0 | |||
a365425c73 | |||
c836500488 | |||
318ca3f81c | |||
82219ededb | |||
d6ff224b0d | |||
b1144bba7e | |||
a590ed78ce | |||
f852789720 | |||
d32cfb31b1 | |||
e671f4c929 | |||
aef2769e60 | |||
63816ab7d6 | |||
e7a16bb98e | |||
e496a82150 | |||
f258b38a18 | |||
a80fb99d21 | |||
6b0ee10988 | |||
1e2d368e43 | |||
829a5b5acf | |||
112e31a933 | |||
8af22b5b37 | |||
7029118f05 | |||
a1f8ef9614 | |||
97d198e967 | |||
722e73a3e6 | |||
1d2f385586 | |||
7b180524e3 | |||
a670dd91cd | |||
a0f1d39ce4 | |||
6bed8d14f1 | |||
e26ff8bb1e | |||
7fdda613a5 | |||
b7d3691c8d | |||
b0a6f2d689 | |||
8e20ec7617 | |||
a38cecef92 | |||
3bf572b7a4 | |||
2acc9f5d6f | |||
abae2dc09e | |||
407fb7a395 | |||
0c1b6ba9bf | |||
855e2a47b5 | |||
988bbf7bde | |||
ef7f251654 | |||
3d29c62bfb | |||
3e5d1d919a | |||
a38794ebcc | |||
56ca814ebb | |||
c17abbea6e | |||
0d5080d6bb | |||
e9a01c0174 | |||
5ea7b98db8 | |||
5eae7f3006 | |||
d83c9be2ea | |||
9585a4a7ab | |||
42fc8b7b57 | |||
0aa63c40f8 | |||
f59b9ebda6 | |||
b2c6e53bfa | |||
9970a00533 | |||
3752f48249 | |||
0baf791728 | |||
11687ffd36 | |||
aa22f5d648 | |||
00a38fe274 | |||
fe096ce282 | |||
b4ca9c5596 | |||
d85b76f0d1 | |||
f2a9712041 | |||
09bf0566af | |||
b8c5163c03 | |||
9dda2f6b9f | |||
ca5a1ee674 | |||
0e93477db0 | |||
7765df1076 | |||
fe38f0c2ff | |||
7ec8b8846e | |||
422d6d8dd0 | |||
d021777b06 | |||
f2f665dc08 | |||
02e2454c79 | |||
9d2be424de | |||
bf60f7520b | |||
916e9f38f3 | |||
ebc24ced66 | |||
3e59a2a813 | |||
50834268a7 | |||
007017a2a7 | |||
094aa9beb1 | |||
19f9b25a46 | |||
bc1c957f47 | |||
7c9f9c1ecd | |||
63152e11fa | |||
27c6de1fb1 | |||
70e01125fd | |||
26d7fb01ed | |||
d181a69a73 | |||
106f8ec7af | |||
1951834150 | |||
4c732aa5d6 | |||
bbbd247653 | |||
c35445b066 | |||
72198ed38c | |||
ab464d93d3 | |||
e56587ec47 | |||
bbea2f0bab | |||
9db39ad36f | |||
f009ba752b | |||
03b551f9d6 | |||
30df311ec2 | |||
262b9f20a3 | |||
3eb8fce4f9 | |||
05f8166bef | |||
1bdf113767 | |||
392960dc98 | |||
26ee54a4ad | |||
cbfd160cbf | |||
7207ccbbeb | |||
6e09e2a774 | |||
0561199914 | |||
430a5f21cf | |||
0290142bf4 | |||
5745a50d15 | |||
18b6c1b907 | |||
4a663649c0 | |||
7c9d7a6de6 | |||
d0e5d50712 | |||
d0c0a8895e | |||
e23ecb6a11 | |||
da60b32a04 | |||
5a47080859 | |||
f296a39bf5 | |||
f04acee6df | |||
992c76d29c | |||
f3a016aa79 | |||
58995966ec | |||
c913c429c0 | |||
d4caddcaed | |||
8d7b3a84be | |||
fc8ffe5731 | |||
bf691337f1 | |||
9e81f92d58 | |||
bf4a5beb0b | |||
3288c20658 | |||
5a8df95fd3 | |||
43545cefd2 | |||
71364f962e | |||
b2ad5f16e8 | |||
5dc4db40f7 | |||
cec83afe45 | |||
01f6d8f038 | |||
a90a3c1d28 | |||
a1bc99ef4e | |||
35efcc4a7c | |||
c85fd97e00 | |||
895a24f332 | |||
6ff7f4a402 | |||
109e596417 | |||
20fddc6de7 | |||
1eaac78fdd | |||
855241d966 | |||
be9f7f8346 | |||
b5431bc061 | |||
783da59b59 | |||
41574fe026 | |||
848398d443 | |||
4dfc794b6e | |||
ac895209f0 | |||
b24d6224d9 | |||
8a13ae1bb9 | |||
a2058ca6f6 | |||
aab2017bda | |||
f9266a509d | |||
546ef0ade6 | |||
4661f1ab0e | |||
264bec8806 | |||
e2d60be3e5 | |||
e1e9830348 | |||
0e0dc44a49 | |||
533c8fc7f7 | |||
07651842b6 | |||
3796f9f70a | |||
31d21c74a0 | |||
c6245fdaf8 | |||
c539c630ed | |||
a414e5434f | |||
08b35e63d6 | |||
1598868445 | |||
3134221445 | |||
4cf5f3eabf | |||
3a3e58de4c | |||
26ecb09685 | |||
6db5bc0162 | |||
eab859fe80 | |||
1d6c369c06 | |||
05faf24582 | |||
e454d1c8a7 | |||
f162864e89 | |||
69c9202304 | |||
100a2eb4ae | |||
59293d7a99 | |||
02958c06fe | |||
a6e2a6ee59 | |||
cf30e159fb | |||
9f12f63aea | |||
e8aad1238e | |||
6843f508fa | |||
3b0e4cd05d | |||
e8b49a9fe5 | |||
15d7cd1d35 | |||
61f74b5307 | |||
a81686d9d0 | |||
2f010506eb | |||
4f24550463 | |||
7f7d8839eb | |||
e579b18794 | |||
fde406bafa | |||
4cb440504b | |||
aa5e8e6666 | |||
61aabf664e | |||
c31e002064 | |||
61168cb9d3 | |||
da58d2e9b9 | |||
57616901fd | |||
623d7aa58d | |||
2710723d88 | |||
e0d5fb03ed | |||
ca198b85bf | |||
f339c3f055 | |||
207cb2929a | |||
bedb663a8e | |||
5a5dceb967 | |||
369fbded81 | |||
06b9dd3327 | |||
b9b9d52e57 | |||
767fbddde9 | |||
3e63afb907 | |||
f6fe749da3 | |||
e5fbc623eb | |||
02a512dd72 | |||
d5883e4bcf | |||
5815549a9a | |||
b2821b85ab | |||
9413f2c86f | |||
956b9209bf | |||
74ba0ef0a8 | |||
eefd04dbfc | |||
a657dce572 | |||
d616545268 | |||
57ecd6e515 | |||
025a339062 | |||
5b5ba53112 | |||
bd87a26db1 | |||
c0283da6ee | |||
e372d624a6 | |||
db6c6e7e0f |
46
.github/CODE_OF_CONDUCT.md
vendored
Normal file
46
.github/CODE_OF_CONDUCT.md
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mahmoud@zalt.me. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
|
[homepage]: http://contributor-covenant.org
|
||||||
|
[version]: http://contributor-covenant.org/version/1/4/
|
3
.github/CONTRIBUTING.md
vendored
Normal file
3
.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
### First off, thanks for taking the time to contribute!
|
||||||
|
|
||||||
|
For the contribution guide [click here](http://laradock.io/contributing/).
|
23
.github/ISSUE_TEMPLATE.md
vendored
Normal file
23
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
### Info:
|
||||||
|
- Docker version (`$ docker --version`):
|
||||||
|
- Laradock commit (`$ git rev-parse HEAD`):
|
||||||
|
- System info (Mac, PC, Linux):
|
||||||
|
- System info disto/version:
|
||||||
|
|
||||||
|
### Issue:
|
||||||
|
<!--- What seems to be wrong? -->
|
||||||
|
_____
|
||||||
|
|
||||||
|
### Expected behavior:
|
||||||
|
<!--- What should happen instead? -->
|
||||||
|
_____
|
||||||
|
|
||||||
|
### Reproduce:
|
||||||
|
<!--- How can we reproduce the error? -->
|
||||||
|
_____
|
||||||
|
|
||||||
|
### Relevant Code:
|
||||||
|
|
||||||
|
```
|
||||||
|
// place a code sample here
|
||||||
|
```
|
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!--- Thank you for contributing to Laradock -->
|
||||||
|
|
||||||
|
##### I completed the 3 steps below:
|
||||||
|
|
||||||
|
- [ ] I've read the [Contribution Guide](http://laradock.io/contributing).
|
||||||
|
- [ ] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so).
|
||||||
|
- [ ] I enjoyed my time contributing and making developer's life easier :)
|
10
README-zh.md → .github/README-zh.md
vendored
10
README-zh.md → .github/README-zh.md
vendored
@ -669,19 +669,19 @@ PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `works
|
|||||||
<a name="Use-custom-Domain"></a>
|
<a name="Use-custom-Domain"></a>
|
||||||
### 使用自定义域名 (替换 Docker 的 IP)
|
### 使用自定义域名 (替换 Docker 的 IP)
|
||||||
|
|
||||||
假定你的自定义域名是 `laravel.dev`
|
假定你的自定义域名是 `laravel.test`
|
||||||
|
|
||||||
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.dev` 域名
|
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.test` 域名
|
||||||
```bash
|
```bash
|
||||||
127.0.0.1 laravel.dev
|
127.0.0.1 laravel.test
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 打开你的浏览器访问 `{http://laravel.dev}`
|
2 - 打开你的浏览器访问 `{http://laravel.test}`
|
||||||
|
|
||||||
你可以在 nginx 配置文件自定义服务器名称,如下:
|
你可以在 nginx 配置文件自定义服务器名称,如下:
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
server_name laravel.dev;
|
server_name laravel.test;
|
||||||
```
|
```
|
||||||
|
|
||||||
<a name="Enable-Global-Composer-Build-Install"></a>
|
<a name="Enable-Global-Composer-Build-Install"></a>
|
92
.github/README.md
vendored
Normal file
92
.github/README.md
vendored
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="/.github/home-page-images/laradock-logo.jpg?raw=true" alt="Laradock Logo"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">A Docker PHP development environment that facilitates running PHP Apps on Docker</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
|
||||||
|
<a href="https://github.com/laradock/laradock/stargazers"><a href="#backers" alt="sponsors on Open Collective"><img src="https://opencollective.com/laradock/backers/badge.svg" /></a> <a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/laradock/sponsors/badge.svg" /></a> <img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
|
||||||
|
<a href="https://github.com/laradock/laradock/network"><img src="https://img.shields.io/github/forks/laradock/laradock.svg" alt="GitHub forks"></a>
|
||||||
|
<a href="https://github.com/laradock/laradock/issues"><img src="https://img.shields.io/github/issues/laradock/laradock.svg" alt="GitHub issues"></a>
|
||||||
|
<a href="https://raw.githubusercontent.com/laradock/laradock/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="GitHub license"></a>
|
||||||
|
<a href="http://laradock.io/contributing"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="contributions welcome"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4 align="center" style="color:#7d58c2">Use Docker First And Learn About It Later</h4>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="http://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240" ></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="http://laradock.io">
|
||||||
|
<img src="https://s19.postimg.org/ecnn9vdw3/Screen_Shot_2017-08-01_at_5.08.54_AM.png" width=300px" alt="Laradock Docs"/>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
## Sponsors
|
||||||
|
|
||||||
|
Support this project by becoming a sponsor.
|
||||||
|
|
||||||
|
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page, with a link to your website. [[Become a sponsor](https://opencollective.com/laradock#sponsor)]
|
||||||
|
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg"></a>
|
||||||
|
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
|
||||||
|
#### Core contributors:
|
||||||
|
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
|
||||||
|
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
|
||||||
|
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
|
||||||
|
- [Mike Erickson](https://github.com/mikeerickson) @mikeerickson
|
||||||
|
- [Dwi Fahni Denni](https://github.com/zeroc0d3) @zeroc0d3
|
||||||
|
- [Thor Erik](https://github.com/thorerik) @thorerik
|
||||||
|
- [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon
|
||||||
|
- [TJ Miller](https://github.com/sixlive) @sixlive
|
||||||
|
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
|
||||||
|
- [Milan Urukalo](https://github.com/urukalo) @urukalo
|
||||||
|
- [Vince Chu](https://github.com/vwchu) @vwchu
|
||||||
|
- [Huadong Zuo](https://github.com/zuohuadong) @zuohuadong
|
||||||
|
- Join us, by submitting 20 useful PR's.
|
||||||
|
|
||||||
|
#### Awesome contributors:
|
||||||
|
|
||||||
|
<a href="https://github.com/laradock/laradock/graphs/contributors"><img src="https://opencollective.com/laradock/contributors.svg?width=890" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
## Donations
|
||||||
|
|
||||||
|
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
|
||||||
|
> Thanks in advance.
|
||||||
|
|
||||||
|
Donate directly via [Paypal](https://www.paypal.me/mzalt)
|
||||||
|
|
||||||
|
[](https://www.paypal.me/mzalt)
|
||||||
|
|
||||||
|
or become a backer on [Open Collective](https://opencollective.com/laradock#backer)
|
||||||
|
|
||||||
|
<a href="https://opencollective.com/laradock#backers" target="_blank"><img src="https://opencollective.com/laradock/backers.svg?width=890"></a>
|
||||||
|
|
||||||
|
or show your support via [Beerpay](https://beerpay.io/laradock/laradock)
|
||||||
|
|
||||||
|
[](https://beerpay.io/laradock/laradock)
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE)
|
BIN
.github/home-page-images/laradock-logo.jpg
vendored
Normal file
BIN
.github/home-page-images/laradock-logo.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 287 KiB |
13
.gitignore
vendored
13
.gitignore
vendored
@ -2,4 +2,15 @@
|
|||||||
/logs
|
/logs
|
||||||
/data
|
/data
|
||||||
.env
|
.env
|
||||||
/.project
|
/.project
|
||||||
|
.docker-sync
|
||||||
|
/jenkins/jenkins_home
|
||||||
|
|
||||||
|
/logstash/pipeline/*.conf
|
||||||
|
/logstash/config/pipelines.yml
|
||||||
|
|
||||||
|
/nginx/ssl/*.crt
|
||||||
|
/nginx/ssl/*.key
|
||||||
|
/nginx/ssl/*.csr
|
||||||
|
|
||||||
|
.DS_Store
|
62
.gitlab-ci.yml
Normal file
62
.gitlab-ci.yml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# image: docker:latest
|
||||||
|
# services:
|
||||||
|
# - docker:dind
|
||||||
|
image: jonaskello/docker-and-compose:1.12.1-1.8.0
|
||||||
|
services:
|
||||||
|
- docker:1.12.1-dind
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- docker info
|
||||||
|
- docker-compose version
|
||||||
|
- cp env-example .env
|
||||||
|
- sed -i -- "s/=false/=true/g" .env
|
||||||
|
- cat .env
|
||||||
|
- env | sort
|
||||||
|
|
||||||
|
build:5.6:php-fpm:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "5.6"
|
||||||
|
script:
|
||||||
|
- docker-compose build php-fpm
|
||||||
|
|
||||||
|
build:7.0:php-fpm:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.0"
|
||||||
|
script:
|
||||||
|
- docker-compose build php-fpm
|
||||||
|
|
||||||
|
build:7.1:php-fpm:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.1"
|
||||||
|
script:
|
||||||
|
- docker-compose build php-fpm
|
||||||
|
|
||||||
|
build:7.2:php-fpm:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.2"
|
||||||
|
script:
|
||||||
|
- docker-compose build php-fpm
|
||||||
|
|
||||||
|
build:5.6:workspace:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "5.6"
|
||||||
|
script:
|
||||||
|
- docker-compose build workspace
|
||||||
|
|
||||||
|
build:7.0:workspace:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.0"
|
||||||
|
script:
|
||||||
|
- docker-compose build workspace
|
||||||
|
|
||||||
|
build:7.1:workspace:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.1"
|
||||||
|
script:
|
||||||
|
- docker-compose build workspace
|
||||||
|
|
||||||
|
build:7.2:workspace:
|
||||||
|
variables:
|
||||||
|
PHP_VERSION: "7.2"
|
||||||
|
script:
|
||||||
|
- docker-compose build workspace
|
40
.travis.yml
40
.travis.yml
@ -5,11 +5,45 @@ services:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
matrix:
|
matrix:
|
||||||
- PHP_VERSION=56
|
|
||||||
- PHP_VERSION=70
|
|
||||||
- PHP_VERSION=71
|
|
||||||
- HUGO_VERSION=0.20.2
|
- HUGO_VERSION=0.20.2
|
||||||
|
|
||||||
|
- PHP_VERSION=5.6 BUILD_SERVICE=workspace
|
||||||
|
- PHP_VERSION=7.0 BUILD_SERVICE=workspace
|
||||||
|
- PHP_VERSION=7.1 BUILD_SERVICE=workspace
|
||||||
|
- PHP_VERSION=7.2 BUILD_SERVICE=workspace
|
||||||
|
- PHP_VERSION=7.3 BUILD_SERVICE=workspace
|
||||||
|
|
||||||
|
- PHP_VERSION=5.6 BUILD_SERVICE=php-fpm
|
||||||
|
- PHP_VERSION=7.0 BUILD_SERVICE=php-fpm
|
||||||
|
- PHP_VERSION=7.1 BUILD_SERVICE=php-fpm
|
||||||
|
- PHP_VERSION=7.2 BUILD_SERVICE=php-fpm
|
||||||
|
- PHP_VERSION=7.3 BUILD_SERVICE=php-fpm
|
||||||
|
|
||||||
|
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm
|
||||||
|
|
||||||
|
# - PHP_VERSION=5.6 BUILD_SERVICE=php-worker
|
||||||
|
- PHP_VERSION=7.0 BUILD_SERVICE=php-worker
|
||||||
|
- PHP_VERSION=7.1 BUILD_SERVICE=php-worker
|
||||||
|
- PHP_VERSION=7.2 BUILD_SERVICE=php-worker
|
||||||
|
- PHP_VERSION=7.3 BUILD_SERVICE=php-worker
|
||||||
|
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE=solr
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis"
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin"
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy"
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server"
|
||||||
|
- PHP_VERSION=NA BUILD_SERVICE="ipython-controller manticore"
|
||||||
|
# - PHP_VERSION=NA BUILD_SERVICE="aws"
|
||||||
|
|
||||||
|
# Installing a newer Docker version
|
||||||
|
before_install:
|
||||||
|
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||||
|
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get -y install docker-ce
|
||||||
|
- docker version
|
||||||
|
|
||||||
script: ./travis-build.sh
|
script: ./travis-build.sh
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
baseurl = "http://laradock.io/"
|
baseurl = "https://laradock.io/"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
publishDir = "../docs"
|
publishDir = "../docs"
|
||||||
title = "Laradock"
|
title = "Laradock"
|
||||||
|
@ -13,8 +13,8 @@ If you have questions about how to use Laradock, please direct your questions to
|
|||||||
|
|
||||||
## Found an Issue
|
## Found an Issue
|
||||||
|
|
||||||
If have an issue or you found a typo in the documentation, you can help us by
|
If you have an issue or you found a typo in the documentation, you can help us by
|
||||||
opnening an [Issue](https://github.com/laradock/laradock/issues).
|
opening an [Issue](https://github.com/laradock/laradock/issues).
|
||||||
|
|
||||||
**Steps to do before opening an Issue:**
|
**Steps to do before opening an Issue:**
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ opnening an [Issue](https://github.com/laradock/laradock/issues).
|
|||||||
|
|
||||||
If your issue appears to be a bug, and hasn't been reported, then open a new issue.
|
If your issue appears to be a bug, and hasn't been reported, then open a new issue.
|
||||||
|
|
||||||
*This Help us to maximize the effort we can spend fixing issues and adding new
|
*This helps us maximize the effort we can spend fixing issues and adding new
|
||||||
features, by not reporting duplicate issues.*
|
features, by not reporting duplicate issues.*
|
||||||
|
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
|
|||||||
|
|
||||||
## Support new Software (Add new Container)
|
## Support new Software (Add new Container)
|
||||||
|
|
||||||
* Forke the repo and clone the code.
|
* Fork the repo and clone the code.
|
||||||
|
|
||||||
* Create folder as the software name (example: `mysql` - `nginx`).
|
* Create folder as the software name (example: `mysql` - `nginx`).
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
|
|||||||
|
|
||||||
* Add the environment variables to the `env-example` if you have any.
|
* Add the environment variables to the `env-example` if you have any.
|
||||||
|
|
||||||
* **MOST IMPORTANTLY** updated the `Documentation`, add as much information.
|
* **MOST IMPORTANTLY** update the `Documentation`, add as much information.
|
||||||
|
|
||||||
* Submit a Pull Request, to the `master` branch.
|
* Submit a Pull Request, to the `master` branch.
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
|
|||||||
|
|
||||||
## Edit supported Software (Edit a Container)
|
## Edit supported Software (Edit a Container)
|
||||||
|
|
||||||
* Forke the repo and clone the code.
|
* Fork the repo and clone the code.
|
||||||
|
|
||||||
* Open the software (container) folder (example: `mysql` - `nginx`).
|
* Open the software (container) folder (example: `mysql` - `nginx`).
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
|
|||||||
|
|
||||||
* Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source..
|
* Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source..
|
||||||
|
|
||||||
*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other orgnizations.*
|
*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.*
|
||||||
|
|
||||||
**Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine.
|
**Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine.
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4,32 +4,34 @@ type: index
|
|||||||
weight: 2
|
weight: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
# Requirements
|
## Requirements
|
||||||
|
|
||||||
- [Git](https://git-scm.com/downloads)
|
- [Git](https://git-scm.com/downloads)
|
||||||
- [Docker](https://www.docker.com/products/docker/) `>= 1.12`
|
- [Docker](https://www.docker.com/products/docker/) `>= 17.12`
|
||||||
|
|
||||||
# Installation
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
Choose the setup the best suits your needs.
|
Choose the setup the best suits your needs.
|
||||||
|
|
||||||
- [A) Setup for Single Project](#A)
|
- [A) Setup for Single Project](#A)
|
||||||
|
- [A.1) Already have a PHP project](#A1)
|
||||||
- [A.1) Already have a PHP project](#A1)
|
- [A.2) Don't have a PHP project yet](#A2)
|
||||||
|
|
||||||
- [A.2) Don't have a PHP project yet](#A2)
|
|
||||||
|
|
||||||
- [B) Setup for Multiple Projects](#B)
|
- [B) Setup for Multiple Projects](#B)
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
## A) Setup for Single Project
|
|
||||||
|
|
||||||
|
<a name="A"></a>
|
||||||
|
### A) Setup for Single Project
|
||||||
> (Follow these steps if you want a separate Docker environment for each project)
|
> (Follow these steps if you want a separate Docker environment for each project)
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
## A.1) Already have a PHP project:
|
<a name="A1"></a>
|
||||||
|
### A.1) Already have a PHP project:
|
||||||
|
|
||||||
1 - Clone laradock on your project root directory:
|
1 - Clone laradock on your project root directory:
|
||||||
|
|
||||||
@ -37,9 +39,10 @@ Choose the setup the best suits your needs.
|
|||||||
git submodule add https://github.com/Laradock/laradock.git
|
git submodule add https://github.com/Laradock/laradock.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: If you are not using Git yet for your project, you can use `git clone` instead of `git submodule`.
|
Note: If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `.
|
||||||
|
|
||||||
|
*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#keep-track-of-your-laradock-changes)*
|
||||||
|
|
||||||
_To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#keep-track-of-your-laradock-changes)_
|
|
||||||
|
|
||||||
Your folder structure should look like this:
|
Your folder structure should look like this:
|
||||||
|
|
||||||
@ -50,13 +53,12 @@ Your folder structure should look like this:
|
|||||||
+ laradock-b
|
+ laradock-b
|
||||||
```
|
```
|
||||||
|
|
||||||
_(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project)._
|
*(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).*
|
||||||
|
|
||||||
> **Now jump to the [Usage](#Usage) section.**
|
> **Now jump to the [Usage](#Usage) section.**
|
||||||
|
|
||||||
[]()
|
<a name="A2"></a>
|
||||||
|
### A.2) Don't have a PHP project yet:
|
||||||
## A.2) Don't have a PHP project yet:
|
|
||||||
|
|
||||||
1 - Clone this repository anywhere on your machine:
|
1 - Clone this repository anywhere on your machine:
|
||||||
|
|
||||||
@ -79,23 +81,22 @@ We'll need to do step 1 of the [Usage](#Usage) section now to make this happen.
|
|||||||
cp env-example .env
|
cp env-example .env
|
||||||
```
|
```
|
||||||
|
|
||||||
At the top, change the `APPLICATION` variable to your project path.
|
At the top, change the `APP_CODE_PATH_HOST` variable to your project path.
|
||||||
|
|
||||||
```
|
```
|
||||||
APPLICATION=../project-z/
|
APP_CODE_PATH_HOST=../project-z/
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure to replace `project-z` with your project folder name.
|
Make sure to replace `project-z` with your project folder name.
|
||||||
|
|
||||||
> **Now jump to the [Usage](#Usage) section.**
|
> **Now jump to the [Usage](#Usage) section.**
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
## B) Setup for Multiple Projects:
|
<a name="B"></a>
|
||||||
|
### B) Setup for Multiple Projects:
|
||||||
|
> (Follow these steps if you want a single Docker environment for all your projects)
|
||||||
|
|
||||||
> (Follow these steps if you want a single Docker environment for all your project)
|
1 - Clone this repository anywhere on your machine (similar to [Steps A.2. from above](#A2)):
|
||||||
|
|
||||||
1 - Clone this repository anywhere on your machine (similar to [Steps A.2\. from above](#A2)):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/laradock/laradock.git
|
git clone https://github.com/laradock/laradock.git
|
||||||
@ -111,35 +112,46 @@ Your folder structure should look like this:
|
|||||||
|
|
||||||
2 - Go to `nginx/sites` and create config files to point to different project directory when visiting different domains.
|
2 - Go to `nginx/sites` and create config files to point to different project directory when visiting different domains.
|
||||||
|
|
||||||
Laradock by default includes `project-1.conf` and `project-2.conf` as working samples.
|
Laradock by default includes `app.conf.example`, `laravel.conf.example` and `symfony.conf.example` as working samples.
|
||||||
|
|
||||||
3 - change the default names `project-n`:
|
3 - change the default names `*.conf`:
|
||||||
|
|
||||||
You can rename the config files, project folders and domains as you like, just make sure the `root` in the config files, is pointing to the correct project folder name.
|
You can rename the config files, project folders and domains as you like, just make sure the `root` in the config files, is pointing to the correct project folder name.
|
||||||
|
|
||||||
4 - Add the domains to the **hosts** files.
|
4 - Add the domains to the **hosts** files.
|
||||||
|
|
||||||
```
|
```
|
||||||
127.0.0.1 project-1.dev
|
127.0.0.1 project-1.test
|
||||||
127.0.0.1 project-2.dev
|
127.0.0.1 project-2.test
|
||||||
|
...
|
||||||
```
|
```
|
||||||
|
If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https://laravel-news.com/chrome-63-now-forces-dev-domains-https). Instead use `.localhost`, `.invalid`, `.test`, or `.example`.
|
||||||
|
|
||||||
> **Now jump to the [Usage](#Usage) section.**
|
> **Now jump to the [Usage](#Usage) section.**
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
# Usage
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="Usage"></a>
|
||||||
|
## Usage
|
||||||
|
|
||||||
**Read Before starting:**
|
**Read Before starting:**
|
||||||
|
|
||||||
If you are using **Docker Toolbox** (VM), do one of the following:
|
If you are using **Docker Toolbox** (VM), do one of the following:
|
||||||
|
|
||||||
- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
|
- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
|
||||||
- Use Laradock v3.*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/Laradock-ToolBox) branch. _(outdated)_
|
- Use Laradock v3.\*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/LaraDock-ToolBox) branch. *(outdated)*
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
> **Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](#Build-Re-build-Containers) in order to prevent as much errors as possible.
|
We recommend using a Docker version which is newer than 1.13.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
>**Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](#Build-Re-build-Containers) in order to prevent as much errors as possible.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -149,9 +161,13 @@ If you are using **Docker Toolbox** (VM), do one of the following:
|
|||||||
cp env-example .env
|
cp env-example .env
|
||||||
```
|
```
|
||||||
|
|
||||||
You can edit the `.env` file to chose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are been used.
|
You can edit the `.env` file to choose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are being used.
|
||||||
|
|
||||||
2 - Build the enviroment and run it using `docker-compose`
|
Depending on the host's operating system you may need to change the value given to `COMPOSE_FILE`. When you are running Laradock on Mac OS the correct file separator to use is `:`. When running Laradock from a Windows environment multiple files must be separated with `;`.
|
||||||
|
|
||||||
|
By default the containers that will be created have the current directory name as suffix (e.g. `laradock_workspace_1`). This can cause mixture of data inside the container volumes if you use laradock in multiple projects. In this case, either read the guide for [multiple projects](#B) or change the variable `COMPOSE_PROJECT_NAME` to something unique like your project name.
|
||||||
|
|
||||||
|
2 - Build the environment and run it using `docker-compose`
|
||||||
|
|
||||||
In this example we'll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:
|
In this example we'll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:
|
||||||
|
|
||||||
@ -159,11 +175,13 @@ In this example we'll see how to run NGINX (web server) and MySQL (database engi
|
|||||||
docker-compose up -d nginx mysql
|
docker-compose up -d nginx mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
|
**Note**: All the web server containers `nginx`, `apache` ..etc depends on `php-fpm`, which means if you run any of them, they will automatically launch the `php-fpm` container for you, so no need to explicitly specify it in the `up` command. If you have to do so, you may need to run them as follows: `docker-compose up -d nginx php-fpm mysql`.
|
||||||
|
|
||||||
You can select your own combination of containers form [this list](http://laradock.io/introduction/#supported-software-images).
|
|
||||||
|
|
||||||
_(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers)._
|
You can select your own combination of containers from [this list](http://laradock.io/introduction/#supported-software-images).
|
||||||
|
|
||||||
|
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...)
|
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...)
|
||||||
@ -172,22 +190,22 @@ _(Please note that sometimes we forget to update the docs, so check the `docker-
|
|||||||
docker-compose exec workspace bash
|
docker-compose exec workspace bash
|
||||||
```
|
```
|
||||||
|
|
||||||
_Alternatively, for Windows PowerShell users: execute the following command to enter any running container:_
|
*Alternatively, for Windows PowerShell users: execute the following command to enter any running container:*
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec -it {workspace-container-id} bash
|
docker exec -it {workspace-container-id} bash
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** You can add `--user=laradock` to have files created as your host's user. Example:
|
**Note:** You can add `--user=laradock` to have files created as your host's user. Example:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker-compose exec --user=laradock workspace bash
|
docker-compose exec --user=laradock workspace bash
|
||||||
```
|
```
|
||||||
|
|
||||||
_You can change the PUID (User id) and PGID (group id) variables from the `.env` file)_
|
*You can change the PUID (User id) and PGID (group id) variables from the `.env` file)*
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
4 - Update your project configurations to use the database host
|
4 - Update your project configuration to use the database host
|
||||||
|
|
||||||
Open your PHP project's `.env` file or whichever configuration file you are reading from, and set the database host `DB_HOST` to `mysql`:
|
Open your PHP project's `.env` file or whichever configuration file you are reading from, and set the database host `DB_HOST` to `mysql`:
|
||||||
|
|
||||||
@ -195,7 +213,7 @@ Open your PHP project's `.env` file or whichever configuration file you are read
|
|||||||
DB_HOST=mysql
|
DB_HOST=mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
_If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel)._
|
*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
5 - Open your browser and visit your localhost address `http://localhost/`. If you followed the multiple projects setup, you can visit `http://project-1.dev/` and `http://project-2.dev/`. But first don't
|
5 - Open your browser and visit your localhost address `http://localhost/`. If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`.
|
||||||
|
@ -4,11 +4,15 @@ type: index
|
|||||||
weight: 4
|
weight: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
- [Production Setup on Digital Ocean](#Digital-Ocean)
|
|
||||||
- [PHPStorm XDebug Setup](#PHPStorm-Debugging)
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
* [Production Setup on Digital Ocean](#Digital-Ocean)
|
||||||
|
* [PHPStorm XDebug Setup](#PHPStorm-Debugging)
|
||||||
|
* [Running Laravel Dusk Test](#Laravel-Dusk)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="Digital-Ocean"></a>
|
||||||
# Production Setup on Digital Ocean
|
# Production Setup on Digital Ocean
|
||||||
|
|
||||||
## Install Docker
|
## Install Docker
|
||||||
@ -46,11 +50,9 @@ $root@server:~/laravel/ git submodule add https://github.com/Laradock/laradock.g
|
|||||||
$root@server:~/laravel/ cd laradock
|
$root@server:~/laravel/ cd laradock
|
||||||
```
|
```
|
||||||
|
|
||||||
## Install docker-compose command
|
## Enter the laradock folder and rename env-example to .env.
|
||||||
|
|
||||||
```
|
```
|
||||||
$root@server:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
|
$root@server:~/laravel/laradock# cp env-example .env
|
||||||
$root@server:~/chmod +x /usr/local/bin/docker-compose
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Create Your Laradock Containers
|
## Create Your Laradock Containers
|
||||||
@ -67,6 +69,14 @@ Note that more containers are available, find them in the [docs](http://laradock
|
|||||||
docker-compose exec workspace bash
|
docker-compose exec workspace bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Execute commands
|
||||||
|
|
||||||
|
If you want to only execute some command and don't want to enter bash, you can execute `docker-compose run workspace <command>`.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose run workspace php artisan migrate
|
||||||
|
```
|
||||||
|
|
||||||
## Install and configure Laravel
|
## Install and configure Laravel
|
||||||
|
|
||||||
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
|
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
|
||||||
@ -104,7 +114,7 @@ ns3.digitalocean.com
|
|||||||
|
|
||||||
Within DigitalOcean, you'll need to change some settings, too.
|
Within DigitalOcean, you'll need to change some settings, too.
|
||||||
|
|
||||||
Visit: <https://cloud.digitalocean.com/networking/domains>
|
Visit: https://cloud.digitalocean.com/networking/domains
|
||||||
|
|
||||||
Add your domain name and choose the server IP you'd provision earlier.
|
Add your domain name and choose the server IP you'd provision earlier.
|
||||||
|
|
||||||
@ -135,8 +145,8 @@ And add `server_name` (your custom domain)
|
|||||||
## Rebuild Your Nginx
|
## Rebuild Your Nginx
|
||||||
|
|
||||||
```
|
```
|
||||||
$root@server:~/laravel/laradock/nginx# docker-compose down
|
$root@server:~/laravel/laradock# docker-compose down
|
||||||
$root@server:~/laravel/laradock/nginx# docker-compose build nginx
|
$root@server:~/laravel/laradock# docker-compose build nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
## Re Run Your Containers MYSQL and NGINX
|
## Re Run Your Containers MYSQL and NGINX
|
||||||
@ -145,7 +155,7 @@ $root@server:~/laravel/laradock/nginx# docker-compose build nginx
|
|||||||
$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
**View Your Site with HTTP ONLY (<http://yourdomain.com>)**
|
**View Your Site with HTTP ONLY (http://yourdomain.com)**
|
||||||
|
|
||||||
## Run Site on SSL with Let's Encrypt Certificate
|
## Run Site on SSL with Let's Encrypt Certificate
|
||||||
|
|
||||||
@ -165,7 +175,7 @@ Remove 0.0.0.0:80
|
|||||||
root /var/www/public
|
root /var/www/public
|
||||||
```
|
```
|
||||||
|
|
||||||
and replace with your <https://yourdomain.com>
|
and replace with your https://yourdomain.com
|
||||||
|
|
||||||
```
|
```
|
||||||
https://yourdomain.com
|
https://yourdomain.com
|
||||||
@ -189,7 +199,7 @@ This is needed Prior to Creating Let's Encypt
|
|||||||
## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
||||||
|
|
||||||
```
|
```
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose up caddy
|
$root@server:~/laravel/laradock# docker-compose up caddy
|
||||||
```
|
```
|
||||||
|
|
||||||
You'll be prompt here to enter your email... you may enter it or not
|
You'll be prompt here to enter your email... you may enter it or not
|
||||||
@ -210,97 +220,87 @@ After it finishes, press `Ctrl` + `C` to exit.
|
|||||||
## Stop All Containers and ReRun Caddy and Other Containers on Background
|
## Stop All Containers and ReRun Caddy and Other Containers on Background
|
||||||
|
|
||||||
```
|
```
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose down
|
$root@server:~/laravel/laradock# docker-compose down
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
$root@server:~/laravel/laradock# docker-compose up -d mysql caddy
|
||||||
```
|
```
|
||||||
|
|
||||||
View your Site in the Browser Securely Using HTTPS (<https://yourdomain.com>)
|
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
||||||
|
|
||||||
**Note that Certificate will be Automatically Renew By Caddy**
|
**Note that Certificate will be Automatically Renew By Caddy**
|
||||||
|
|
||||||
> References:
|
>References:
|
||||||
|
>
|
||||||
|
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
||||||
|
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
|
||||||
|
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
|
||||||
|
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
|
||||||
|
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
|
||||||
|
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
|
||||||
|
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
|
||||||
|
|
||||||
> - <https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04>
|
|
||||||
> - <https://www.digitalocean.com/products/one-click-apps/docker/>
|
|
||||||
> - <https://docs.docker.com/engine/installation/linux/ubuntulinux/>
|
|
||||||
> - <https://docs.docker.com/compose/install/>
|
|
||||||
> - <https://caddyserver.com/docs/automatic-https>
|
|
||||||
> - <https://caddyserver.com/docs/tls>
|
|
||||||
> - <https://caddyserver.com/docs/caddyfile>
|
|
||||||
|
|
||||||
<br><br><br><br><br>
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<a name="PHPStorm-Debugging"></a>
|
||||||
# PHPStorm XDebug Setup
|
# PHPStorm XDebug Setup
|
||||||
|
|
||||||
- [Intro](#Intro)
|
- [Intro](#Intro)
|
||||||
- [Installation](#Installation)
|
- [Installation](#Installation)
|
||||||
|
- [Customize laradock/docker-compose.yml](#CustomizeDockerCompose)
|
||||||
- [Customize laradock/docker-compose.yml](#CustomizeDockerCompose)
|
- [Clean House](#InstallCleanHouse)
|
||||||
|
- [Laradock Dial Tone](#InstallLaradockDialTone)
|
||||||
- [Clean House](#InstallCleanHouse)
|
- [hosts](#AddToHosts)
|
||||||
- [Laradock Dial Tone](#InstallLaradockDialTone)
|
- [Firewall](#FireWall)
|
||||||
- [hosts](#AddToHosts)
|
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
||||||
- [Firewall](#FireWall)
|
- [PHPStorm Settings](#InstallPHPStorm)
|
||||||
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
- [Configs](#InstallPHPStormConfigs)
|
||||||
|
|
||||||
- [PHPStorm Settings](#InstallPHPStorm)
|
|
||||||
|
|
||||||
- [Configs](#InstallPHPStormConfigs)
|
|
||||||
|
|
||||||
- [Usage](#Usage)
|
- [Usage](#Usage)
|
||||||
|
- [Laravel](#UsageLaravel)
|
||||||
- [Laravel](#UsageLaravel)
|
- [Run ExampleTest](#UsagePHPStormRunExampleTest)
|
||||||
|
- [Debug ExampleTest](#UsagePHPStormDebugExampleTest)
|
||||||
- [Run ExampleTest](#UsagePHPStormRunExampleTest)
|
- [Debug Web Site](#UsagePHPStormDebugSite)
|
||||||
- [Debug ExampleTest](#UsagePHPStormDebugExampleTest)
|
|
||||||
- [Debug Web Site](#UsagePHPStormDebugSite)
|
|
||||||
|
|
||||||
- [SSH into workspace](#SSHintoWorkspace)
|
- [SSH into workspace](#SSHintoWorkspace)
|
||||||
|
- [KiTTY](#InstallKiTTY)
|
||||||
|
|
||||||
- [KiTTY](#InstallKiTTY)
|
<a name="Intro"></a>
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
## Intro
|
## Intro
|
||||||
|
|
||||||
Wiring up [Laravel](https://laravel.com/), [Laradock](https://github.com/Laradock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`, you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.
|
Wiring up [Laravel](https://laravel.com/), [Laradock](https://github.com/Laradock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`,
|
||||||
|
you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="Installation"></a>
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
- This guide assumes the following:
|
- This guide assumes the following:
|
||||||
|
- you have already installed and are familiar with Laravel, Laradock and PHPStorm.
|
||||||
|
- you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`.
|
||||||
|
|
||||||
- you have already installed and are familiar with Laravel, Laradock and PHPStorm.
|
<a name="AddToHosts"></a>
|
||||||
- you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`.
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
## hosts
|
## hosts
|
||||||
|
- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2`
|
||||||
- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2` On Windows you can find it by opening Windows `Hyper-V Manager`.
|
On Windows you can find it by opening Windows `Hyper-V Manager`.
|
||||||
|
- 
|
||||||
- 
|
|
||||||
|
|
||||||
- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file.
|
- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file.
|
||||||
|
- Set `laravel` to your docker host IP. See [Example](images/photos/SimpleHostsEditor/AddHost_laravel.png).
|
||||||
|
|
||||||
- Set `laravel` to your docker host IP. See [Example](images/photos/SimpleHostsEditor/AddHost_laravel.png).
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="FireWall"></a>
|
||||||
## Firewall
|
## Firewall
|
||||||
|
Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.
|
||||||
Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000\. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.
|
|
||||||
|
|
||||||
- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.
|
- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.
|
||||||
- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.
|
- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.
|
||||||
|
|
||||||
### Edit laradock/docker-compose.yml
|
### Edit laradock/docker-compose.yml
|
||||||
|
|
||||||
Set the following variables:
|
Set the following variables:
|
||||||
|
|
||||||
```
|
```
|
||||||
### Workspace Utilities Container ###############
|
### Workspace Utilities Container ###############
|
||||||
|
|
||||||
@ -321,10 +321,10 @@ Set the following variables:
|
|||||||
args:
|
args:
|
||||||
- INSTALL_XDEBUG=true
|
- INSTALL_XDEBUG=true
|
||||||
...
|
...
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Edit xdebug.ini files
|
### Edit xdebug.ini files
|
||||||
|
|
||||||
- `laradock/workspace/xdebug.ini`
|
- `laradock/workspace/xdebug.ini`
|
||||||
- `laradock/php-fpm/xdebug.ini`
|
- `laradock/php-fpm/xdebug.ini`
|
||||||
|
|
||||||
@ -337,59 +337,66 @@ xdebug.remote_connect_back=1
|
|||||||
xdebug.cli_color=1
|
xdebug.cli_color=1
|
||||||
```
|
```
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="InstallCleanHouse"></a>
|
||||||
### Need to clean house first?
|
### Need to clean house first?
|
||||||
|
|
||||||
Make sure you are starting with a clean state. For example, do you have other Laradock containers and images? Here are a few things I use to clean things up.
|
Make sure you are starting with a clean state. For example, do you have other Laradock containers and images?
|
||||||
|
Here are a few things I use to clean things up.
|
||||||
|
|
||||||
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name). `docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
|
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name).
|
||||||
|
|
||||||
- Delete all images containing `laradock`. `docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}` **Note:** This will only delete images that were built with `Laradock`, **NOT** `laradock/*` which are pulled down by `Laradock` such as `laradock/workspace`, etc. **Note:** Some may fail with: `Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
|
`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
|
||||||
|
|
||||||
|
- Delete all images containing `laradock`.
|
||||||
|
|
||||||
|
`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}`
|
||||||
|
**Note:** This will only delete images that were built with `Laradock`, **NOT** `laradock/*` which are pulled down by `Laradock` such as `laradock/workspace`, etc.
|
||||||
|
**Note:** Some may fail with:
|
||||||
|
`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
|
||||||
|
|
||||||
- I added this to my `.bashrc` to remove orphaned images.
|
- I added this to my `.bashrc` to remove orphaned images.
|
||||||
|
|
||||||
```
|
```
|
||||||
dclean() {
|
dclean() {
|
||||||
processes=`docker ps -q -f status=exited`
|
processes=`docker ps -q -f status=exited`
|
||||||
if [ -n "$processes" ]; thend
|
if [ -n "$processes" ]; then
|
||||||
docker rm $processes
|
docker rm $processes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
images=`docker images -q -f dangling=true`
|
images=`docker images -q -f dangling=true`
|
||||||
if [ -n "$images" ]; then
|
if [ -n "$images" ]; then
|
||||||
docker rmi $images
|
docker rmi $images
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- If you frequently switch configurations for Laradock, you may find that adding the following and added to your `.bashrc` or equivalent useful:
|
- If you frequently switch configurations for Laradock, you may find that adding the following and added to your `.bashrc` or equivalent useful:
|
||||||
|
|
||||||
```
|
```
|
||||||
# remove laravel* containers
|
# remove laravel* containers
|
||||||
# remove laravel_* images
|
# remove laravel_* images
|
||||||
dcleanlaradockfunction()
|
dcleanlaradockfunction()
|
||||||
{
|
{
|
||||||
echo 'Removing ALL containers associated with laradock'
|
echo 'Removing ALL containers associated with laradock'
|
||||||
docker ps -a | awk '{ print $1,$2 }' | grep laradock | awk '{print $1}' | xargs -I {} docker rm {}
|
docker ps -a | awk '{ print $1,$2 }' | grep laradock | awk '{print $1}' | xargs -I {} docker rm {}
|
||||||
|
|
||||||
# remove ALL images associated with laradock_
|
# remove ALL images associated with laradock_
|
||||||
# does NOT delete laradock/* which are hub images
|
# does NOT delete laradock/* which are hub images
|
||||||
echo 'Removing ALL images associated with laradock_'
|
echo 'Removing ALL images associated with laradock_'
|
||||||
docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}
|
docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}
|
||||||
|
|
||||||
echo 'Listing all laradock docker hub images...'
|
echo 'Listing all laradock docker hub images...'
|
||||||
docker images | grep laradock
|
docker images | grep laradock
|
||||||
|
|
||||||
echo 'dcleanlaradock completed'
|
echo 'dcleanlaradock completed'
|
||||||
}
|
}
|
||||||
# associate the above function with an alias
|
# associate the above function with an alias
|
||||||
# so can recall/lookup by typing 'alias'
|
# so can recall/lookup by typing 'alias'
|
||||||
alias dcleanlaradock=dcleanlaradockfunction
|
alias dcleanlaradock=dcleanlaradockfunction
|
||||||
```
|
```
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="InstallLaradockDialTone"></a>
|
||||||
## Let's get a dial-tone with Laravel
|
## Let's get a dial-tone with Laravel
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -410,11 +417,11 @@ laradock_volumes_source_1 true Exit 0
|
|||||||
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
|
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
|
||||||
```
|
```
|
||||||
|
|
||||||
[]()
|
<a name="enablePhpXdebug"></a>
|
||||||
|
|
||||||
## Enable xDebug on php-fpm
|
## Enable xDebug on php-fpm
|
||||||
|
|
||||||
In a host terminal sitting in the laradock folder, run: `.php-fpm/xdebug status` You should see something like the following:
|
In a host terminal sitting in the laradock folder, run: `./php-fpm/xdebug status`
|
||||||
|
You should see something like the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
xDebug status
|
xDebug status
|
||||||
@ -425,149 +432,456 @@ Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
|
|||||||
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
|
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
|
||||||
```
|
```
|
||||||
|
|
||||||
Other commands include `.php-fpm/xdebug start | stop`.
|
Other commands include `./php-fpm/xdebug start | stop`.
|
||||||
|
|
||||||
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when `php-fpm` is started and listening for debug info on port 9000.
|
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when
|
||||||
|
`php-fpm` is started and listening for debug info on port 9000.
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="InstallPHPStormConfigs"></a>
|
||||||
## PHPStorm Settings
|
## PHPStorm Settings
|
||||||
|
|
||||||
- Here are some settings that are known to work:
|
- Here are some settings that are known to work:
|
||||||
|
- `Settings/BuildDeploymentConnection`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/BuildDeploymentConnection`
|
- `Settings/BuildDeploymentConnectionMappings`
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `Settings/BuildDeploymentDebugger`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/BuildDeploymentConnectionMappings`
|
- `Settings/EditRunConfigurationRemoteWebDebug`
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `Settings/EditRunConfigurationRemoteExampleTestDebug`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/BuildDeploymentDebugger`
|
- `Settings/LangsPHPDebug`
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `Settings/LangsPHPInterpreters`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/EditRunConfigurationRemoteWebDebug`
|
- `Settings/LangsPHPPHPUnit`
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `Settings/LangsPHPServers`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/EditRunConfigurationRemoteExampleTestDebug`
|
- `RemoteHost`
|
||||||
|
To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`.
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `RemoteWebDebug`
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPDebug`
|
- `EditRunConfigurationRemoteWebDebug`
|
||||||
|
Go to: `Menu/Run/Edit Configurations`.
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `EditRunConfigurationRemoteExampleTestDebug`
|
||||||
|
Go to: `Menu/Run/Edit Configurations`.
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPInterpreters`
|
- `WindowsFirewallAllowedApps`
|
||||||
|
Go to: `Control Panel\All Control Panel Items\Windows Firewall\Allowed apps`.
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
- `hosts`
|
||||||
|
Edit: `C:\Windows\System32\drivers\etc\hosts`.
|
||||||
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPPHPUnit`
|
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `Settings/LangsPHPServers`
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `RemoteHost` To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`.
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `RemoteWebDebug`
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `EditRunConfigurationRemoteWebDebug` Go to: `Menu/Run/Edit Configurations`.
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `EditRunConfigurationRemoteExampleTestDebug` Go to: `Menu/Run/Edit Configurations`.
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `WindowsFirewallAllowedApps` Go to: `Control Panel\All Control Panel Items\Windows Firewall\Allowed apps`.
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- `hosts` Edit: `C:\Windows\System32\drivers\etc\hosts`.
|
|
||||||
|
|
||||||
- 
|
|
||||||
|
|
||||||
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="Usage"></a>
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
[]()
|
<a name="UsagePHPStormRunExampleTest"></a>
|
||||||
|
|
||||||
### Run ExampleTest
|
### Run ExampleTest
|
||||||
|
|
||||||
- right-click on `tests/ExampleTest.php`
|
- right-click on `tests/ExampleTest.php`
|
||||||
|
- Select: `Run 'ExampleTest.php'` or `Ctrl+Shift+F10`.
|
||||||
|
- Should pass!! You just ran a remote test via SSH!
|
||||||
|
|
||||||
- Select: `Run 'ExampleTest.php'` or `Ctrl+Shift+F10`.
|
<a name="UsagePHPStormDebugExampleTest"></a>
|
||||||
- Should pass!! You just ran a remote test via SSH!
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
### Debug ExampleTest
|
### Debug ExampleTest
|
||||||
|
|
||||||
- Open to edit: `tests/ExampleTest.php`
|
- Open to edit: `tests/ExampleTest.php`
|
||||||
- Add a BreakPoint on line 16: `$this->visit('/')`
|
- Add a BreakPoint on line 16: `$this->visit('/')`
|
||||||
- right-click on `tests/ExampleTest.php`
|
- right-click on `tests/ExampleTest.php`
|
||||||
|
- Select: `Debug 'ExampleTest.php'`.
|
||||||
|
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
|
||||||
|
- 
|
||||||
|
|
||||||
- Select: `Debug 'ExampleTest.php'`.
|
|
||||||
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
|
|
||||||
- 
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="UsagePHPStormDebugSite"></a>
|
||||||
### Debug WebSite
|
### Debug WebSite
|
||||||
|
- In case xDebug is disabled, from the `laradock` folder run:
|
||||||
- In case xDebug is disabled, from the `laradock` folder run: `.php-fpm/xdebug start`.
|
`./php-fpm/xdebug start`.
|
||||||
|
- To switch xdebug off, run:
|
||||||
- To switch xdebug off, run: `.php-fpm/xdebug stop`
|
`./php-fpm/xdebug stop`
|
||||||
|
|
||||||
- Start Remote Debugging
|
- Start Remote Debugging
|
||||||
|
- 
|
||||||
- 
|
|
||||||
|
|
||||||
- Open to edit: `bootstrap/app.php`
|
- Open to edit: `bootstrap/app.php`
|
||||||
|
|
||||||
- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(`
|
- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(`
|
||||||
- Reload [Laravel Site](http://laravel/)
|
- Reload [Laravel Site](http://laravel/)
|
||||||
|
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
|
||||||
|
- 
|
||||||
|
|
||||||
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
|
|
||||||
- 
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
|
<a name="SSHintoWorkspace"></a>
|
||||||
## Let's shell into workspace
|
## Let's shell into workspace
|
||||||
|
Assuming that you are in laradock folder, type:
|
||||||
Assuming that you are in laradock folder, type: `ssh -i workspace/insecure_id_rsa -p2222 root@laravel` **Cha Ching!!!!**
|
`ssh -i workspace/insecure_id_rsa -p2222 root@laravel`
|
||||||
|
**Cha Ching!!!!**
|
||||||
- `workspace/insecure_id_rsa.ppk` may become corrupted. In which case:
|
- `workspace/insecure_id_rsa.ppk` may become corrupted. In which case:
|
||||||
|
- fire up `puttygen`
|
||||||
|
- import `workspace/insecure_id_rsa`
|
||||||
|
- save private key to `workspace/insecure_id_rsa.ppk`
|
||||||
|
|
||||||
- fire up `puttygen`
|
<a name="InstallKiTTY"></a>
|
||||||
- import `workspace/insecure_id_rsa`
|
|
||||||
- save private key to `workspace/insecure_id_rsa.ppk`
|
|
||||||
|
|
||||||
[]()
|
|
||||||
|
|
||||||
### KiTTY
|
### KiTTY
|
||||||
|
|
||||||
[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY.
|
[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY.
|
||||||
|
|
||||||
- Here are some settings that are working for me:
|
- Here are some settings that are working for me:
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
|
||||||
- 
|
<br>
|
||||||
- 
|
<br>
|
||||||
- 
|
<br>
|
||||||
- 
|
<br>
|
||||||
- 
|
<br>
|
||||||
- 
|
|
||||||
- 
|
<a name="Laravel-Dusk"></a>
|
||||||
- 
|
# Running Laravel Dusk Tests
|
||||||
- 
|
|
||||||
|
- [Option 1: Without Selenium](#option1-dusk)
|
||||||
|
- [Option 2: With Selenium](#option2-dusk)
|
||||||
|
|
||||||
|
<a name="option1-dusk"></a>
|
||||||
|
## Option 1: Without Selenium
|
||||||
|
|
||||||
|
- [Intro](#option1-dusk-intro)
|
||||||
|
- [Workspace Setup](#option1-workspace-setup)
|
||||||
|
- [Application Setup](#option1-application-setup)
|
||||||
|
- [Choose Chrome Driver Version (Optional)](#option1-choose-chrome-driver-version)
|
||||||
|
- [Run Dusk Tests](#option1-run-dusk-tests)
|
||||||
|
|
||||||
|
<a name="option1-dusk-intro"></a>
|
||||||
|
### Intro
|
||||||
|
|
||||||
|
This is a guide to run Dusk tests in your `workspace` container with headless
|
||||||
|
google-chrome and chromedriver. It has been tested with Laravel 5.4 and 5.5.
|
||||||
|
|
||||||
|
<a name="option1-workspace-setup"></a>
|
||||||
|
### Workspace Setup
|
||||||
|
|
||||||
|
Update your .env with following entries:
|
||||||
|
|
||||||
|
```
|
||||||
|
...
|
||||||
|
# Install Laravel installer bin to setup demo app
|
||||||
|
WORKSPACE_INSTALL_LARAVEL_INSTALLER=true
|
||||||
|
...
|
||||||
|
# Install all the necessary dependencies for running Dusk tests
|
||||||
|
WORKSPACE_INSTALL_DUSK_DEPS=true
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
Then run below to build your workspace.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose build workspace
|
||||||
|
```
|
||||||
|
|
||||||
|
<a name="option1-application-setup"></a>
|
||||||
|
### Application Setup
|
||||||
|
|
||||||
|
Run a `workspace` container and you will be inside the container at `/var/www` directory.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose run workspace bash
|
||||||
|
|
||||||
|
/var/www#> _
|
||||||
|
```
|
||||||
|
|
||||||
|
Create new Laravel application named `dusk-test` and install Laravel Dusk package.
|
||||||
|
|
||||||
|
```
|
||||||
|
/var/www> laravel new dusk-test
|
||||||
|
/var/www> cd dusk-test
|
||||||
|
/var/www/dusk-test> composer require --dev laravel/dusk
|
||||||
|
/var/www/dusk-test> php artisan dusk:install
|
||||||
|
```
|
||||||
|
|
||||||
|
Create `.env.dusk.local` by copying from `.env` file.
|
||||||
|
|
||||||
|
```
|
||||||
|
/var/www/dusk-test> cp .env .env.dusk.local
|
||||||
|
```
|
||||||
|
|
||||||
|
Update the `APP_URL` entry in `.env.dusk.local` to local Laravel server.
|
||||||
|
|
||||||
|
```
|
||||||
|
APP_URL=http://localhost:8000
|
||||||
|
```
|
||||||
|
|
||||||
|
You will need to run chromedriver with `headless` and `no-sandbox` flag. In Laravel Dusk 2.x it is
|
||||||
|
already set `headless` so you just need to add `no-sandbox` flag. If you on previous version 1.x,
|
||||||
|
you will need to update your `DustTestCase#driver` as shown below.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
<?php
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
abstract class DuskTestCase extends BaseTestCase
|
||||||
|
{
|
||||||
|
...
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update chrome driver with below flags
|
||||||
|
*/
|
||||||
|
protected function driver()
|
||||||
|
{
|
||||||
|
$options = (new ChromeOptions)->addArguments([
|
||||||
|
'--disable-gpu',
|
||||||
|
'--headless',
|
||||||
|
'--no-sandbox'
|
||||||
|
]);
|
||||||
|
|
||||||
|
return RemoteWebDriver::create(
|
||||||
|
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
|
||||||
|
ChromeOptions::CAPABILITY, $options
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<a name="option1-choose-chrome-driver-version"></a>
|
||||||
|
### Choose Chrome Driver Version (Optional)
|
||||||
|
|
||||||
|
You could choose to use either:
|
||||||
|
|
||||||
|
1. Chrome Driver shipped with Laravel Dusk. (Default)
|
||||||
|
2. Chrome Driver installed in `workspace` container. (Required tweak on DuskTestCase class)
|
||||||
|
|
||||||
|
For Laravel 2.x, you need to update `DuskTestCase#prepare` method if you wish to go with option #2.
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
...
|
||||||
|
abstract class DuskTestCase extends BaseTestCase
|
||||||
|
{
|
||||||
|
...
|
||||||
|
public static function prepare()
|
||||||
|
{
|
||||||
|
// Only add this line if you wish to use chrome driver installed in workspace container.
|
||||||
|
// You might want to read the file path from env file.
|
||||||
|
static::useChromedriver('/usr/local/bin/chromedriver');
|
||||||
|
|
||||||
|
static::startChromeDriver();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For Laravel 1.x, you need to add `DuskTestCase#buildChromeProcess` method if you wish to go with option #2.
|
||||||
|
|
||||||
|
```
|
||||||
|
<?php
|
||||||
|
|
||||||
|
...
|
||||||
|
use Symfony\Component\Process\ProcessBuilder;
|
||||||
|
|
||||||
|
abstract class DuskTestCase extends BaseTestCase
|
||||||
|
{
|
||||||
|
...
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Only add this method if you wish to use chrome driver installed in workspace container
|
||||||
|
*/
|
||||||
|
protected static function buildChromeProcess()
|
||||||
|
{
|
||||||
|
return (new ProcessBuilder())
|
||||||
|
->setPrefix('chromedriver')
|
||||||
|
->getProcess()
|
||||||
|
->setEnv(static::chromeEnvironment());
|
||||||
|
}
|
||||||
|
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<a name="option1-run-dusk-tests"></a>
|
||||||
|
### Run Dusk Tests
|
||||||
|
|
||||||
|
Run local server in `workspace` container and run Dusk tests.
|
||||||
|
|
||||||
|
```
|
||||||
|
# alias to run Laravel server in the background (php artisan serve --quiet &)
|
||||||
|
/var/www/dusk-test> serve
|
||||||
|
# alias to run Dusk tests (php artisan dusk)
|
||||||
|
/var/www/dusk-test> dusk
|
||||||
|
|
||||||
|
PHPUnit 6.4.0 by Sebastian Bergmann and contributors.
|
||||||
|
|
||||||
|
. 1 / 1 (100%)
|
||||||
|
|
||||||
|
Time: 837 ms, Memory: 6.00MB
|
||||||
|
```
|
||||||
|
|
||||||
|
<a name="option2-dusk"></a>
|
||||||
|
## Option 2: With Selenium
|
||||||
|
|
||||||
|
- [Intro](#dusk-intro)
|
||||||
|
- [DNS Setup](#dns-setup)
|
||||||
|
- [Docker Compose Setup](#docker-compose)
|
||||||
|
- [Laravel Dusk Setup](#laravel-dusk-setup)
|
||||||
|
- [Running Laravel Dusk Tests](#running-tests)
|
||||||
|
|
||||||
|
<a name="dusk-intro"></a>
|
||||||
|
### Intro
|
||||||
|
Setting up Laravel Dusk tests to run with Laradock appears be something that
|
||||||
|
eludes most Laradock users. This guide is designed to show you how to wire them
|
||||||
|
up to work together. This guide is written with macOS and Linux in mind. As such,
|
||||||
|
it's only been tested on macOS. Feel free to create pull requests to update the guide
|
||||||
|
for Windows-specific instructions.
|
||||||
|
|
||||||
|
This guide assumes you know how to use a DNS forwarder such as `dnsmasq` or are comfortable
|
||||||
|
with editing the `/etc/hosts` file for one-off DNS changes.
|
||||||
|
|
||||||
|
<a name="dns-setup"></a>
|
||||||
|
### DNS Setup
|
||||||
|
According to RFC-2606, only four TLDs are reserved for local testing[^1]:
|
||||||
|
|
||||||
|
- `.test`
|
||||||
|
- `.example`
|
||||||
|
- `.invalid`
|
||||||
|
- `.localhost`
|
||||||
|
|
||||||
|
A common TLD used for local development is `.dev`, but newer versions of Google
|
||||||
|
Chrome (such as the one bundled with the Selenium Docker image), will fail to
|
||||||
|
resolve that DNS as there will appear to be a name collision.
|
||||||
|
|
||||||
|
The recommended extension is `.test` for your Laravel web apps because you're
|
||||||
|
running tests. Using a DNS forwarder such as `dnsmasq` or by editing the `/etc/hosts`
|
||||||
|
file, configure the host to point to `localhost`.
|
||||||
|
|
||||||
|
For example, in your `/etc/hosts` file:
|
||||||
|
```
|
||||||
|
##
|
||||||
|
# Host Database
|
||||||
|
#
|
||||||
|
# localhost is used to configure the loopback interface
|
||||||
|
# when the system is booting. Do not change this entry.
|
||||||
|
##
|
||||||
|
127.0.0.1 localhost
|
||||||
|
255.255.255.255 broadcasthost
|
||||||
|
::1 localhost
|
||||||
|
127.0.0.1 myapp.test
|
||||||
|
```
|
||||||
|
|
||||||
|
This will ensure that when navigating to `myapp.test`, it will route the
|
||||||
|
request to `127.0.0.1` which will be handled by Nginx in Laradock.
|
||||||
|
|
||||||
|
<a name="docker-compose"></a>
|
||||||
|
### Docker Compose setup
|
||||||
|
In order to make the Selenium container talk to the Nginx container appropriately,
|
||||||
|
the `docker-compose.yml` needs to be edited to accommodate this. Make the following
|
||||||
|
changes:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
...
|
||||||
|
selenium:
|
||||||
|
...
|
||||||
|
depends_on:
|
||||||
|
- nginx
|
||||||
|
links:
|
||||||
|
- nginx:<your_domain>
|
||||||
|
```
|
||||||
|
|
||||||
|
This allows network communication between the Nginx and Selenium containers
|
||||||
|
and it also ensures that when starting the Selenium container, the Nginx
|
||||||
|
container starts up first unless it's already running. This allows
|
||||||
|
the Selenium container to make requests to the Nginx container, which is
|
||||||
|
necessary for running Dusk tests. These changes also link the `nginx` environment
|
||||||
|
variable to the domain you wired up in your hosts file.
|
||||||
|
|
||||||
|
<a name="laravel-dusk-setup"></a>
|
||||||
|
### Laravel Dusk Setup
|
||||||
|
|
||||||
|
In order to make Laravel Dusk make the proper request to the Selenium container,
|
||||||
|
you have to edit the `DuskTestCase.php` file that's provided on the initial
|
||||||
|
installation of Laravel Dusk. The change you have to make deals with the URL the
|
||||||
|
Remote Web Driver attempts to use to set up the Selenium session.
|
||||||
|
|
||||||
|
One recommendation for this is to add a separate config option in your `.env.dusk.local`
|
||||||
|
so it's still possible to run your Dusk tests locally should you want to.
|
||||||
|
|
||||||
|
#### .env.dusk.local
|
||||||
|
```
|
||||||
|
...
|
||||||
|
USE_SELENIUM=true
|
||||||
|
```
|
||||||
|
|
||||||
|
#### DuskTestCase.php
|
||||||
|
```php
|
||||||
|
abstract class DuskTestCase extends BaseTestCase
|
||||||
|
{
|
||||||
|
...
|
||||||
|
protected function driver()
|
||||||
|
{
|
||||||
|
if (env('USE_SELENIUM', 'false') == 'true') {
|
||||||
|
return RemoteWebDriver::create(
|
||||||
|
'http://selenium:4444/wd/hub', DesiredCapabilities::chrome()
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return RemoteWebDriver::create(
|
||||||
|
'http://localhost:9515', DesiredCapabilities::chrome()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<a name="running-tests"></a>
|
||||||
|
### Running Laravel Dusk Tests
|
||||||
|
|
||||||
|
Now that you have everything set up, to run your Dusk tests, you have to SSH
|
||||||
|
into the workspace container as you normally would:
|
||||||
|
```docker-compose exec --user=laradock workspace bash```
|
||||||
|
|
||||||
|
Once inside, you can change directory to your application and run:
|
||||||
|
|
||||||
|
```php artisan dusk```
|
||||||
|
|
||||||
|
One way to make this easier from your project is to create a helper script. Here's one such example:
|
||||||
|
```bash
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
LARADOCK_HOME="path/to/laradock"
|
||||||
|
|
||||||
|
pushd ${LARADOCK_HOME}
|
||||||
|
|
||||||
|
docker-compose exec --user=laradock workspace bash -c "cd my-project && php artisan dusk && exit"
|
||||||
|
```
|
||||||
|
|
||||||
|
This invokes the Dusk command from inside the workspace container but when the script completes
|
||||||
|
execution, it returns your session to your project directory.
|
||||||
|
|
||||||
|
[^1]: [Don't Use .dev for Development](https://iyware.com/dont-use-dev-for-development/)
|
||||||
|
@ -35,7 +35,7 @@ cp env-example .env
|
|||||||
3 - Run your containers:
|
3 - Run your containers:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker-compose up -d nginx mysql redis beanstalkd
|
docker-compose up -d nginx mysql phpmyadmin redis workspace
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - Open your project's `.env` file and set the following:
|
4 - Open your project's `.env` file and set the following:
|
||||||
@ -58,7 +58,7 @@ That's it! enjoy :)
|
|||||||
<a name="features"></a>
|
<a name="features"></a>
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Easy switch between PHP versions: 7.1, 7.0, 5.6...
|
- Easy switch between PHP versions: 7.3, 7.2, 7.1, 5.6...
|
||||||
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
||||||
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
|
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
|
||||||
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
|
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
|
||||||
@ -83,23 +83,27 @@ In adhering to the separation of concerns principle as promoted by Docker, Larad
|
|||||||
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.
|
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.
|
||||||
|
|
||||||
- **Database Engines:**
|
- **Database Engines:**
|
||||||
MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres Postgis.
|
MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres-PostGIS.
|
||||||
|
- **Database Management:**
|
||||||
|
PhpMyAdmin - Adminer - PgAdmin
|
||||||
- **Cache Engines:**
|
- **Cache Engines:**
|
||||||
Redis - Memcached - Aerospike
|
Redis - Memcached - Aerospike
|
||||||
- **PHP Servers:**
|
- **PHP Servers:**
|
||||||
NGINX - Apache2 - Caddy
|
NGINX - Apache2 - Caddy
|
||||||
- **PHP Compilers:**
|
- **PHP Compilers:**
|
||||||
PHP FPM - HHVM
|
PHP FPM - HHVM
|
||||||
- **Message Queuing:**
|
- **Message Queueing:**
|
||||||
Beanstalkd - Beanstalkd Console - RabbitMQ - RabbitMQ Console - PHP Worker
|
Beanstalkd - RabbitMQ - PHP Worker
|
||||||
- **Tools:**
|
- **Queueing Management:**
|
||||||
HAProxy - Jenkins - ElasticSearch - Selenium - Certbot - Mailhog - Minio - Varnish - PhpMyAdmin - Adminer - PgAdmin - MailHog - [Blackfire](https://blackfire.io)...
|
Beanstalkd Console - RabbitMQ Console
|
||||||
|
- **Random Tools:**
|
||||||
|
Mailu - HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Gitlab - Mailhog - MailDev - Minio - Varnish - Swoole - NetData - Portainer - Laravel Echo - Phalcon...
|
||||||
|
|
||||||
Laradock introduces the **Workspace** Image, as a development environment.
|
Laradock introduces the **Workspace** Image, as a development environment.
|
||||||
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
|
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
|
||||||
|
|
||||||
**Workspace Image Tools**
|
**Workspace Image Tools**
|
||||||
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...
|
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush - WP-CLI...
|
||||||
|
|
||||||
You can choose, which tools to install in your workspace container and other containers, from the `.env` file.
|
You can choose, which tools to install in your workspace container and other containers, from the `.env` file.
|
||||||
|
|
||||||
@ -108,10 +112,30 @@ You can choose, which tools to install in your workspace container and other con
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
If you can't find your Software in the list, build it yourself and sumit it. Contributions are welcomed :)
|
If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Sponsors
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Support this project by becoming a sponsor.
|
||||||
|
|
||||||
|
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page, with a link to your website. [[Become a sponsor](https://opencollective.com/laradock#sponsor)]
|
||||||
|
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg"></a>
|
||||||
|
<a href="https://opencollective.com/laradock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -148,7 +172,7 @@ Most importantly Docker can run on Development and on Production (same environme
|
|||||||
|
|
||||||
What's better than a **Demo Video**:
|
What's better than a **Demo Video**:
|
||||||
|
|
||||||
- Laradock v5.* (soon or never)
|
- Laradock v5.* (should be next!)
|
||||||
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
|
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
|
||||||
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
|
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
|
||||||
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
||||||
@ -166,3 +190,25 @@ What's better than a **Demo Video**:
|
|||||||
You are welcome to join our chat room on Gitter.
|
You are welcome to join our chat room on Gitter.
|
||||||
|
|
||||||
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="Donations"></a>
|
||||||
|
## Donations
|
||||||
|
|
||||||
|
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
|
||||||
|
> Thanks in advance.
|
||||||
|
|
||||||
|
Donate directly via [Paypal](https://www.paypal.me/mzalt)
|
||||||
|
|
||||||
|
[](https://www.paypal.me/mzalt)
|
||||||
|
|
||||||
|
or become a backer on [Open Collective](https://opencollective.com/laradock#backer)
|
||||||
|
|
||||||
|
<a href="https://opencollective.com/laradock#backers" target="_blank"><img src="https://opencollective.com/laradock/backers.svg?width=890"></a>
|
||||||
|
|
||||||
|
or show your support via [Beerpay](https://beerpay.io/laradock/laradock)
|
||||||
|
|
||||||
|
[](https://beerpay.io/laradock/laradock)
|
||||||
|
@ -14,5 +14,6 @@ These Docker Compose projects have piqued our interest:
|
|||||||
* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal)
|
* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal)
|
||||||
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
|
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
|
||||||
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
|
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
|
||||||
|
* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek)
|
||||||
|
|
||||||
If you want your project listed here, please open an issue.
|
If you want your project listed here, please open an issue.
|
||||||
|
@ -20,11 +20,25 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
{{ partial "drawer" . }}
|
{{ partial "drawer" . }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article class="article">
|
<article class="article">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
<!-- Google Ads -->
|
||||||
|
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<!-- Laradock Horizontal -->
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:inline-block;width:890px;height:100px"
|
||||||
|
data-ad-client="ca-pub-9826129398689742"
|
||||||
|
data-ad-slot="2340256024"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
|
||||||
|
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||||
|
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
|
|
||||||
|
@ -24,6 +24,23 @@
|
|||||||
|
|
||||||
<article class="article">
|
<article class="article">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
|
|
||||||
|
<!-- Wrapper arround google ads for seedanddew -->
|
||||||
|
<div class='snd-ad'>
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
<!-- Google Ads -->
|
||||||
|
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<!-- Laradock Horizontal -->
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:inline-block;width:890px;height:100px"
|
||||||
|
data-ad-client="ca-pub-9826129398689742"
|
||||||
|
data-ad-slot="2340256024"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ range where .Site.Pages "Type" "index" }}
|
{{ range where .Site.Pages "Type" "index" }}
|
||||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<div class="logo">
|
<div class="logo">
|
||||||
<img src="{{ $.Site.BaseURL }}{{ . }}">
|
<img src="{{ $.Site.BaseURL }}{{ . }}">
|
||||||
</div>
|
</div>
|
||||||
|
Laradock
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<!--<div class="name">-->
|
<!--<div class="name">-->
|
||||||
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
||||||
@ -42,18 +43,39 @@
|
|||||||
</ul>
|
</ul>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if isset .Site.Params "author" }}
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div>
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
<!-- Google Ads -->
|
||||||
|
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<!-- Laradock Vertical -->
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:inline-block;width:237px;height:600px"
|
||||||
|
data-ad-client="ca-pub-9826129398689742"
|
||||||
|
data-ad-slot="9891442983"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
<!--{{ if isset .Site.Params "author" }}-->
|
||||||
<!--<hr>-->
|
<!--<hr>-->
|
||||||
<!--<span class="section">The author</span>-->
|
<!--<span class="section">The author</span>-->
|
||||||
|
<!---->
|
||||||
<ul>
|
<!--<ul>-->
|
||||||
{{ with .Site.Social.twitter }}
|
<!--{{ with .Site.Social.twitter }}-->
|
||||||
<li>
|
<!--<li>-->
|
||||||
<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">
|
<!--<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">-->
|
||||||
@{{ . }} on Twitter
|
<!--@{{ . }} on Twitter-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
{{ end }}
|
<!--{{ end }}-->
|
||||||
|
|
||||||
<!--{{ with .Site.Social.github }}-->
|
<!--{{ with .Site.Social.github }}-->
|
||||||
<!--<li>-->
|
<!--<li>-->
|
||||||
@ -63,16 +85,17 @@
|
|||||||
<!--</li>-->
|
<!--</li>-->
|
||||||
<!--{{ end }}-->
|
<!--{{ end }}-->
|
||||||
|
|
||||||
{{ with .Site.Social.email }}
|
<!--{{ with .Site.Social.email }}-->
|
||||||
<li>
|
<!--<li>-->
|
||||||
<a href="mailto:{{ . }}" title="Email of {{ . }}">
|
<!--<a href="mailto:{{ . }}" title="Email of {{ . }}">-->
|
||||||
Contact via email
|
<!--Contact via email-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
{{ end }}
|
<!--{{ end }}-->
|
||||||
</ul>
|
<!--</ul>-->
|
||||||
{{ end }}
|
<!--{{ end }}-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -70,6 +70,27 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
|
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
// seedanddew.com integration
|
||||||
|
var SeedAndDewConfig = {};
|
||||||
|
(function() {
|
||||||
|
SeedAndDewConfig['adClass'] = "snd-ad";
|
||||||
|
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||||||
|
SeedAndDewConfig['projectId'] = 'd69f3ea2-1e30-44c7-bd2a-87686c0136e6';
|
||||||
|
SeedAndDewConfig['loadStartTime'] = performance.now();
|
||||||
|
SeedAndDewConfig['apiVersion'] = '2018-05-28'
|
||||||
|
SeedAndDewConfig['sessionId'] = Math.random().toString(36).substring(2, 15);
|
||||||
|
var snd = document.createElement('script');
|
||||||
|
snd.type = 'text/javascript';
|
||||||
|
snd.async = true;
|
||||||
|
snd.src = 'https://www.seedanddew.com/static/embed.min.js';
|
||||||
|
(document.getElementsByTagName('head')[0] ||
|
||||||
|
document.getElementsByTagName('body')[0]).appendChild(snd);
|
||||||
|
})();
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
</script>
|
||||||
|
|
||||||
{{ with .RSSLink }}
|
{{ with .RSSLink }}
|
||||||
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||||
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
<div class="button button-github" role="button" aria-label="GitHub">
|
<div class="button button-github" role="button" aria-label="GitHub">
|
||||||
<a style="padding: 0px; font-size:40px" href="https://github.com/{{ . }}" title="@{{ . }} on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
|
<a style="padding: 0px; font-size:40px" href="https://github.com/{{ . }}" title="@{{ . }} on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
|
||||||
</div>
|
</div>
|
||||||
<p style="font-size: 18px; padding: 8px">Github</p>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- TODO: disabled until Hugo supports the generation of a content index natively
|
<!-- TODO: disabled until Hugo supports the generation of a content index natively
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
Binary file not shown.
After Width: | Height: | Size: 64 KiB |
@ -108,9 +108,17 @@ font-weight:700;
|
|||||||
OVERRIDING THE DEFAULT STYLES - By Mahmoud Zalt (mahmoud@zalt.me) for Laradock.io
|
OVERRIDING THE DEFAULT STYLES - By Mahmoud Zalt (mahmoud@zalt.me) for Laradock.io
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.project .logo img{
|
|
||||||
width: 140px;
|
.project .logo img {
|
||||||
height: 140px;
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-radius: 0%;
|
border-radius: 0%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.project .banner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
4
LICENSE
4
LICENSE
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright 2016 <Mahmoud Zalt>
|
Copyright 2018 <Mahmoud Zalt>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
30
README.md
30
README.md
@ -1,30 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
[](https://travis-ci.org/laradock/laradock)
|
|
||||||
|
|
||||||
> Use Docker first and learn about it later.
|
|
||||||
|
|
||||||
A Docker PHP development environment that facilitates running **PHP** Apps on **Docker**.
|
|
||||||
|
|
||||||
[](http://zalt.me)
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
[**Full Documentation Here**](http://laradock.io)
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
**Maintainers:**
|
|
||||||
|
|
||||||
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
|
|
||||||
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
|
|
||||||
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
|
|
||||||
- [Mike Erickson](https://github.com/mikeerickson) @mikeerickson
|
|
||||||
- [Dwi Fahni Denni](https://github.com/zeroc0d3) @zeroc0d3
|
|
||||||
- [Thor Erik](https://github.com/thorerik) @thorerik
|
|
||||||
- [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon
|
|
||||||
- Join Us.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
|
|
@ -1,12 +1,30 @@
|
|||||||
FROM adminer:4.3.0
|
FROM adminer:4
|
||||||
|
|
||||||
# Version 4.3.1 contains PostgreSQL login errors. See docs.
|
LABEL maintainer="Patrick Artounian <partounian@gmail.com>"
|
||||||
# See https://sourceforge.net/p/adminer/bugs-and-features/548/
|
|
||||||
|
|
||||||
MAINTAINER Patrick Artounian <partounian@gmail.com>
|
|
||||||
|
|
||||||
# Add volume for sessions to allow session persistence
|
# Add volume for sessions to allow session persistence
|
||||||
VOLUME /sessions
|
VOLUME /sessions
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# SQL SERVER:
|
||||||
|
#####################################
|
||||||
|
USER root
|
||||||
|
ARG INSTALL_MSSQL=false
|
||||||
|
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
|
||||||
|
RUN if [ ${INSTALL_MSSQL} = true ]; then \
|
||||||
|
set -xe \
|
||||||
|
# && apk --update add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc unixodbc-dev \
|
||||||
|
# && pecl channel-update pecl.php.net \
|
||||||
|
# && pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
|
||||||
|
# && echo "extension=sqlsrv.so" > /usr/local/etc/php/conf.d/20-sqlsrv.ini \
|
||||||
|
# && echo "extension=pdo_sqlsrv.so" > /usr/local/etc/php/conf.d/20-pdo_sqlsrv.ini \
|
||||||
|
&& apk --update add --no-cache freetds unixodbc \
|
||||||
|
&& apk --update add --no-cache --virtual .build-deps $PHPIZE_DEPS freetds-dev unixodbc-dev \
|
||||||
|
&& docker-php-ext-install pdo_dblib \
|
||||||
|
&& apk del .build-deps \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
USER adminer
|
||||||
|
|
||||||
# We expose Adminer on port 8080 (Adminer's default)
|
# We expose Adminer on port 8080 (Adminer's default)
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
FROM aerospike:latest
|
FROM aerospike:latest
|
||||||
|
|
||||||
MAINTAINER Luciano Jr <luciano@lucianojr.com.br>
|
LABEL maintainer="Luciano Jr <luciano@lucianojr.com.br>"
|
||||||
|
|
||||||
RUN rm /etc/aerospike/aerospike.conf
|
|
||||||
|
|
||||||
ADD aerospike.conf /etc/aerospike/aerospike.conf
|
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
# Aerospike database configuration file.
|
|
||||||
|
|
||||||
# This stanza must come first.
|
|
||||||
service {
|
|
||||||
user root
|
|
||||||
group root
|
|
||||||
paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
|
|
||||||
pidfile /var/run/aerospike/asd.pid
|
|
||||||
service-threads 4
|
|
||||||
transaction-queues 4
|
|
||||||
transaction-threads-per-queue 4
|
|
||||||
proto-fd-max 15000
|
|
||||||
}
|
|
||||||
|
|
||||||
logging {
|
|
||||||
|
|
||||||
# Log file must be an absolute path.
|
|
||||||
file /var/log/aerospike/aerospike.log {
|
|
||||||
context any info
|
|
||||||
}
|
|
||||||
|
|
||||||
# Send log messages to stdout
|
|
||||||
console {
|
|
||||||
context any critical
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
network {
|
|
||||||
service {
|
|
||||||
address any
|
|
||||||
port 3000
|
|
||||||
|
|
||||||
# Uncomment the following to set the `access-address` parameter to the
|
|
||||||
# IP address of the Docker host. This will the allow the server to correctly
|
|
||||||
# publish the address which applications and other nodes in the cluster to
|
|
||||||
# use when addressing this node.
|
|
||||||
# access-address <IPADDR>
|
|
||||||
}
|
|
||||||
|
|
||||||
heartbeat {
|
|
||||||
|
|
||||||
# mesh is used for environments that do not support multicast
|
|
||||||
mode mesh
|
|
||||||
port 3002
|
|
||||||
|
|
||||||
# use asinfo -v 'tip:host=<ADDR>;port=3002' to inform cluster of
|
|
||||||
# other mesh nodes
|
|
||||||
mesh-port 3002
|
|
||||||
|
|
||||||
interval 150
|
|
||||||
timeout 10
|
|
||||||
}
|
|
||||||
|
|
||||||
fabric {
|
|
||||||
port 3001
|
|
||||||
}
|
|
||||||
|
|
||||||
info {
|
|
||||||
port 3003
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test {
|
|
||||||
replication-factor 2
|
|
||||||
memory-size 1G
|
|
||||||
default-ttl 5d # 5 days, use 0 to never expire/evict.
|
|
||||||
|
|
||||||
# storage-engine memory
|
|
||||||
|
|
||||||
# To use file storage backing, comment out the line above and use the
|
|
||||||
# following lines instead.
|
|
||||||
storage-engine device {
|
|
||||||
file /opt/aerospike/data/test.dat
|
|
||||||
filesize 4G
|
|
||||||
data-in-memory true # Store data in memory in addition to file.
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +1,21 @@
|
|||||||
FROM webdevops/apache:ubuntu-16.04
|
FROM webdevops/apache:ubuntu-16.04
|
||||||
|
|
||||||
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>"
|
||||||
|
|
||||||
ARG PHP_SOCKET=php-fpm:9000
|
ARG PHP_UPSTREAM_CONTAINER=php-fpm
|
||||||
|
ARG PHP_UPSTREAM_PORT=9000
|
||||||
|
ARG PHP_UPSTREAM_TIMEOUT=60
|
||||||
|
ARG DOCUMENT_ROOT=/var/www/
|
||||||
|
|
||||||
ENV WEB_PHP_SOCKET=$PHP_SOCKET
|
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
|
||||||
|
|
||||||
ENV WEB_DOCUMENT_ROOT=/var/www/public/
|
ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT}
|
||||||
|
|
||||||
|
ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT}
|
||||||
|
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|
||||||
WORKDIR /var/www/public/
|
WORKDIR /var/www/
|
||||||
|
|
||||||
COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf
|
COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName laradock.dev
|
ServerName laradock.test
|
||||||
DocumentRoot /var/www/public/
|
DocumentRoot /var/www/
|
||||||
Options Indexes FollowSymLinks
|
Options Indexes FollowSymLinks
|
||||||
|
|
||||||
<Directory "/var/www/public/">
|
<Directory "/var/www/">
|
||||||
AllowOverride All
|
AllowOverride All
|
||||||
<IfVersion < 2.4>
|
<IfVersion < 2.4>
|
||||||
Allow from all
|
Allow from all
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName sample.dev
|
ServerName sample.test
|
||||||
DocumentRoot /var/www/sample/public/
|
DocumentRoot /var/www/sample/public/
|
||||||
Options Indexes FollowSymLinks
|
Options Indexes FollowSymLinks
|
||||||
|
|
||||||
|
1
aws/.gitignore
vendored
Normal file
1
aws/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
./ssh_keys
|
17
aws/Dockerfile
Normal file
17
aws/Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM python:slim
|
||||||
|
|
||||||
|
LABEL maintainer="melchabcede@gmail.com"
|
||||||
|
|
||||||
|
RUN pip install --upgrade --no-cache-dir awsebcli
|
||||||
|
RUN apt-get -yqq update && apt-get -yqq install git-all
|
||||||
|
|
||||||
|
#NOTE: make sure ssh keys are added to ssh_keys folder
|
||||||
|
|
||||||
|
RUN mkdir root/tmp_ssh
|
||||||
|
COPY /ssh_keys/. /root/.ssh/
|
||||||
|
RUN cd /root/.ssh && chmod 600 * && chmod 644 *.pub
|
||||||
|
|
||||||
|
# Set default work directory
|
||||||
|
WORKDIR /var/www
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
FROM php:latest
|
FROM php:latest
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y curl
|
RUN apt-get update && apt-get install -y curl
|
||||||
|
|
||||||
|
@ -1,16 +1,7 @@
|
|||||||
FROM phusion/baseimage:latest
|
FROM alpine
|
||||||
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
RUN apk add --no-cache beanstalkd
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y beanstalkd
|
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
||||||
|
|
||||||
VOLUME /var/lib/beanstalkd/data
|
|
||||||
|
|
||||||
EXPOSE 11300
|
EXPOSE 11300
|
||||||
|
ENTRYPOINT ["/usr/bin/beanstalkd"]
|
||||||
CMD ["/usr/bin/beanstalkd"]
|
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
# Docs: https://caddyserver.com/docs/caddyfile
|
|
||||||
0.0.0.0:80
|
|
||||||
root /var/www/public
|
|
||||||
fastcgi / php-fpm:9000 php {
|
|
||||||
index index.php
|
|
||||||
}
|
|
||||||
|
|
||||||
# To handle .html extensions with laravel change ext to
|
|
||||||
# ext / .html
|
|
||||||
|
|
||||||
rewrite {
|
|
||||||
r .*
|
|
||||||
ext /
|
|
||||||
to /index.php?{query}
|
|
||||||
}
|
|
||||||
gzip
|
|
||||||
browse
|
|
||||||
log /var/log/caddy/access.log
|
|
||||||
errors /var/log/caddy/error.log
|
|
||||||
# Uncomment to enable TLS (HTTPS)
|
|
||||||
# Change the first list to listen on port 443 when enabling TLS
|
|
||||||
#tls self_signed
|
|
||||||
|
|
||||||
# To use Lets encrpt tls with a DNS provider uncomment these
|
|
||||||
# lines and change the provider as required
|
|
||||||
#tls {
|
|
||||||
# dns cloudflare
|
|
||||||
#}
|
|
@ -1,24 +1,5 @@
|
|||||||
FROM alpine:3.4
|
FROM abiosoft/caddy:no-stats
|
||||||
|
|
||||||
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
CMD ["--conf", "/etc/caddy/Caddyfile", "--log", "stdout", "--agree=true"]
|
||||||
|
|
||||||
ENV caddy_version=0.10.0
|
|
||||||
|
|
||||||
LABEL caddy_version="$caddy_version" architecture="amd64"
|
|
||||||
|
|
||||||
RUN apk update \
|
|
||||||
&& apk upgrade \
|
|
||||||
&& apk add tar curl git
|
|
||||||
|
|
||||||
RUN curl --silent --show-error --fail --location \
|
|
||||||
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \
|
|
||||||
"https://caddyserver.com/download/linux/amd64?plugins=http.cgi,http.cors,http.expires,http.filemanager,http.git,http.ipfilter,http.realip,tls.dns.cloudflare,tls.dns.digitalocean,tls.dns.dnspod,tls.dns.dyn,tls.dns.googlecloud,tls.dns.linode,tls.dns.namecheap,tls.dns.ovh,tls.dns.route53,tls.dns.vultr" \
|
|
||||||
| tar --no-same-owner -C /usr/bin/ -xz caddy \
|
|
||||||
&& mv /usr/bin/caddy /usr/bin/caddy \
|
|
||||||
&& chmod 0755 /usr/bin/caddy
|
|
||||||
|
|
||||||
EXPOSE 80 443 2015
|
EXPOSE 80 443 2015
|
||||||
|
|
||||||
WORKDIR /var/www/public
|
|
||||||
|
|
||||||
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]
|
|
||||||
|
51
caddy/caddy/Caddyfile
Normal file
51
caddy/caddy/Caddyfile
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Docs: https://caddyserver.com/docs/caddyfile
|
||||||
|
0.0.0.0:80 {
|
||||||
|
root /var/www/public
|
||||||
|
fastcgi / php-fpm:9000 php {
|
||||||
|
index index.php
|
||||||
|
}
|
||||||
|
|
||||||
|
# To handle .html extensions with laravel change ext to
|
||||||
|
# ext / .html
|
||||||
|
|
||||||
|
rewrite {
|
||||||
|
to {path} {path}/ /index.php?{query}
|
||||||
|
}
|
||||||
|
gzip
|
||||||
|
browse
|
||||||
|
log /var/log/caddy/access.log
|
||||||
|
errors /var/log/caddy/error.log
|
||||||
|
# Uncomment to enable TLS (HTTPS)
|
||||||
|
# Change the first list to listen on port 443 when enabling TLS
|
||||||
|
#tls self_signed
|
||||||
|
|
||||||
|
# To use Lets encrpt tls with a DNS provider uncomment these
|
||||||
|
# lines and change the provider as required
|
||||||
|
#tls {
|
||||||
|
# dns cloudflare
|
||||||
|
#}
|
||||||
|
}
|
||||||
|
|
||||||
|
laradock1.demo:80 {
|
||||||
|
root /var/www/public
|
||||||
|
# Create a Webhook in git.
|
||||||
|
#git {
|
||||||
|
#repo https://github.com/xxx/xxx
|
||||||
|
# path /home/xxx
|
||||||
|
# #interval 60
|
||||||
|
# hook webhook laradock
|
||||||
|
# hook_type generic
|
||||||
|
#}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
laradock2.demo:80 {
|
||||||
|
# Create a Proxy and cors.
|
||||||
|
#proxy domain.com
|
||||||
|
#cors
|
||||||
|
}
|
||||||
|
|
||||||
|
laradock3.demo:80 {
|
||||||
|
import authlist.conf
|
||||||
|
root /var/www/public
|
||||||
|
}
|
1
caddy/caddy/authlist.conf
Normal file
1
caddy/caddy/authlist.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
basicauth / laradock laradock
|
@ -1,6 +1,6 @@
|
|||||||
FROM phusion/baseimage:latest
|
FROM phusion/baseimage:latest
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
COPY run-certbot.sh /root/certbot/run-certbot.sh
|
COPY run-certbot.sh /root/certbot/run-certbot.sh
|
||||||
|
|
||||||
|
3
couchdb/Dockerfile
Normal file
3
couchdb/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM couchdb
|
||||||
|
|
||||||
|
EXPOSE 5984
|
8
docker-compose.sync.yml
Normal file
8
docker-compose.sync.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
applications-sync:
|
||||||
|
external:
|
||||||
|
name: "applications-docker-sync"
|
1235
docker-compose.yml
1235
docker-compose.yml
File diff suppressed because it is too large
Load Diff
3
docker-registry/Dockerfile
Normal file
3
docker-registry/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM registry:2
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
13
docker-sync.yml
Normal file
13
docker-sync.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
version: "2"
|
||||||
|
|
||||||
|
options:
|
||||||
|
verbose: false
|
||||||
|
syncs:
|
||||||
|
applications-docker-sync: # name of the intermediary sync volume
|
||||||
|
compose-dev-file-path: 'docker-compose.sync.yml' # docker-compose override file
|
||||||
|
|
||||||
|
src: '${APP_CODE_PATH_HOST}' # host source directory
|
||||||
|
sync_userid: 1000 # giving permissions to www-data user (as defined in nginx and php-fpm Dockerfiles)
|
||||||
|
sync_strategy: '${DOCKER_SYNC_STRATEGY}' # for osx use 'native_osx', for windows use 'unison'
|
||||||
|
|
||||||
|
sync_excludes: ['laradock', 'ignored_folder_example'] # ignored directories
|
3
docker-web-ui/Dockerfile
Normal file
3
docker-web-ui/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM konradkleine/docker-registry-frontend:v2
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
@ -1,5 +1,3 @@
|
|||||||
FROM elasticsearch:latest
|
FROM docker.elastic.co/elasticsearch/elasticsearch:6.6.0
|
||||||
|
|
||||||
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
|
|
||||||
|
|
||||||
EXPOSE 9200 9300
|
EXPOSE 9200 9300
|
||||||
|
639
env-example
639
env-example
@ -1,125 +1,290 @@
|
|||||||
############################
|
###########################################################
|
||||||
# General Setup
|
###################### General Setup ######################
|
||||||
############################
|
###########################################################
|
||||||
|
|
||||||
### Application Path
|
### Paths #################################################
|
||||||
# Point to your application code, will be available at `/var/www`.
|
|
||||||
|
|
||||||
APPLICATION=../
|
# Point to the path of your applications code on your host
|
||||||
|
APP_CODE_PATH_HOST=../
|
||||||
|
|
||||||
### Data Path:
|
# Point to where the `APP_CODE_PATH_HOST` should be in the container
|
||||||
# For all storage systems.
|
APP_CODE_PATH_CONTAINER=/var/www
|
||||||
|
|
||||||
DATA_SAVE_PATH=/tmp
|
# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
|
||||||
|
APP_CODE_CONTAINER_FLAG=:cached
|
||||||
|
|
||||||
### PHP version
|
# Choose storage path on your machine. For all storage systems
|
||||||
# Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM)
|
DATA_PATH_HOST=~/.laradock/data
|
||||||
# Accepted values: 71 - 70 - 56
|
|
||||||
|
|
||||||
PHP_VERSION=71
|
### Drivers ################################################
|
||||||
|
|
||||||
### PHP interpreter
|
# All volumes driver
|
||||||
# Accepted values: hhvm - php-fpm
|
VOLUMES_DRIVER=local
|
||||||
|
|
||||||
|
# All Networks driver
|
||||||
|
NETWORKS_DRIVER=bridge
|
||||||
|
|
||||||
|
### Docker compose files ##################################
|
||||||
|
|
||||||
|
# Select which docker-compose files to include. If using docker-sync append `:docker-compose.sync.yml` at the end
|
||||||
|
COMPOSE_FILE=docker-compose.yml
|
||||||
|
|
||||||
|
# Change the separator from : to ; on Windows
|
||||||
|
COMPOSE_PATH_SEPARATOR=:
|
||||||
|
|
||||||
|
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project.
|
||||||
|
COMPOSE_PROJECT_NAME=laradock
|
||||||
|
|
||||||
|
### PHP Version ###########################################
|
||||||
|
|
||||||
|
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||||
|
PHP_VERSION=7.2
|
||||||
|
|
||||||
|
### Phalcon Version ###########################################
|
||||||
|
|
||||||
|
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
|
||||||
|
PHALCON_VERSION=3.4.1
|
||||||
|
|
||||||
|
### PHP Interpreter #######################################
|
||||||
|
|
||||||
|
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
|
||||||
PHP_INTERPRETER=php-fpm
|
PHP_INTERPRETER=php-fpm
|
||||||
|
|
||||||
############################
|
### Docker Host IP ########################################
|
||||||
# Containers Customization
|
|
||||||
############################
|
|
||||||
|
|
||||||
### WORKSPACE ##########################################################################################################
|
# Enter your Docker Host IP (will be appended to /etc/hosts). Default is `10.0.75.1`
|
||||||
|
DOCKER_HOST_IP=10.0.75.1
|
||||||
|
|
||||||
WORKSPACE_INSTALL_XDEBUG=false
|
### Remote Interpreter ####################################
|
||||||
WORKSPACE_INSTALL_SOAP=false
|
|
||||||
WORKSPACE_INSTALL_MONGO=false
|
# Choose a Remote Interpreter entry matching name. Default is `laradock`
|
||||||
WORKSPACE_INSTALL_NODE=false
|
PHP_IDE_CONFIG=serverName=laradock
|
||||||
WORKSPACE_INSTALL_YARN=false
|
|
||||||
WORKSPACE_INSTALL_DRUSH=false
|
### Windows Path ##########################################
|
||||||
WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false
|
|
||||||
WORKSPACE_INSTALL_V8JS_EXTENSION=false
|
# A fix for Windows users, to ensure the application path works
|
||||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
|
COMPOSE_CONVERT_WINDOWS_PATHS=1
|
||||||
|
|
||||||
|
### Environment ###########################################
|
||||||
|
|
||||||
|
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
|
||||||
|
CHANGE_SOURCE=false
|
||||||
|
|
||||||
|
### Docker Sync ###########################################
|
||||||
|
|
||||||
|
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
|
||||||
|
DOCKER_SYNC_STRATEGY=native_osx
|
||||||
|
|
||||||
|
###########################################################
|
||||||
|
################ Containers Customization #################
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
### WORKSPACE #############################################
|
||||||
|
|
||||||
|
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||||
|
WORKSPACE_COMPOSER_AUTH=false
|
||||||
|
WORKSPACE_COMPOSER_REPO_PACKAGIST=
|
||||||
|
WORKSPACE_INSTALL_NODE=true
|
||||||
|
WORKSPACE_NODE_VERSION=node
|
||||||
|
WORKSPACE_NPM_REGISTRY=
|
||||||
|
WORKSPACE_INSTALL_YARN=true
|
||||||
|
WORKSPACE_YARN_VERSION=latest
|
||||||
|
WORKSPACE_INSTALL_NPM_GULP=true
|
||||||
|
WORKSPACE_INSTALL_NPM_BOWER=false
|
||||||
|
WORKSPACE_INSTALL_NPM_VUE_CLI=true
|
||||||
|
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
|
||||||
|
WORKSPACE_INSTALL_PHPREDIS=true
|
||||||
WORKSPACE_INSTALL_WORKSPACE_SSH=false
|
WORKSPACE_INSTALL_WORKSPACE_SSH=false
|
||||||
|
WORKSPACE_INSTALL_SUBVERSION=false
|
||||||
|
WORKSPACE_INSTALL_XDEBUG=false
|
||||||
|
WORKSPACE_INSTALL_PHPDBG=false
|
||||||
|
WORKSPACE_INSTALL_SSH2=false
|
||||||
|
WORKSPACE_INSTALL_LDAP=false
|
||||||
|
WORKSPACE_INSTALL_GMP=false
|
||||||
|
WORKSPACE_INSTALL_SOAP=false
|
||||||
|
WORKSPACE_INSTALL_XSL=false
|
||||||
|
WORKSPACE_INSTALL_IMAP=false
|
||||||
|
WORKSPACE_INSTALL_MONGO=false
|
||||||
|
WORKSPACE_INSTALL_AMQP=false
|
||||||
|
WORKSPACE_INSTALL_MSSQL=false
|
||||||
|
WORKSPACE_INSTALL_DRUSH=false
|
||||||
|
WORKSPACE_DRUSH_VERSION=8.1.17
|
||||||
|
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
|
||||||
|
WORKSPACE_INSTALL_WP_CLI=false
|
||||||
|
WORKSPACE_INSTALL_AEROSPIKE=false
|
||||||
|
WORKSPACE_INSTALL_V8JS=false
|
||||||
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
|
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
|
||||||
|
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
|
||||||
WORKSPACE_INSTALL_DEPLOYER=false
|
WORKSPACE_INSTALL_DEPLOYER=false
|
||||||
|
WORKSPACE_INSTALL_PRESTISSIMO=false
|
||||||
WORKSPACE_INSTALL_LINUXBREW=false
|
WORKSPACE_INSTALL_LINUXBREW=false
|
||||||
WORKSPACE_INSTALL_MC=false
|
WORKSPACE_INSTALL_MC=false
|
||||||
|
WORKSPACE_INSTALL_SYMFONY=false
|
||||||
|
WORKSPACE_INSTALL_PYTHON=false
|
||||||
|
WORKSPACE_INSTALL_POWERLINE=false
|
||||||
|
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
|
||||||
|
WORKSPACE_INSTALL_IMAGEMAGICK=false
|
||||||
|
WORKSPACE_INSTALL_TERRAFORM=false
|
||||||
|
WORKSPACE_INSTALL_DUSK_DEPS=false
|
||||||
|
WORKSPACE_INSTALL_PG_CLIENT=false
|
||||||
|
WORKSPACE_INSTALL_PHALCON=false
|
||||||
|
WORKSPACE_INSTALL_SWOOLE=false
|
||||||
|
WORKSPACE_INSTALL_TAINT=false
|
||||||
|
WORKSPACE_INSTALL_LIBPNG=false
|
||||||
|
WORKSPACE_INSTALL_IONCUBE=false
|
||||||
|
WORKSPACE_INSTALL_MYSQL_CLIENT=false
|
||||||
|
WORKSPACE_INSTALL_PING=false
|
||||||
|
WORKSPACE_INSTALL_SSHPASS=false
|
||||||
|
WORKSPACE_INSTALL_INOTIFY=false
|
||||||
|
WORKSPACE_INSTALL_FSWATCH=false
|
||||||
WORKSPACE_PUID=1000
|
WORKSPACE_PUID=1000
|
||||||
WORKSPACE_PGID=1000
|
WORKSPACE_PGID=1000
|
||||||
WORKSPACE_NODE_VERSION=stable
|
WORKSPACE_CHROME_DRIVER_VERSION=2.42
|
||||||
WORKSPACE_YARN_VERSION=latest
|
|
||||||
WORKSPACE_TIMEZONE=UTC
|
WORKSPACE_TIMEZONE=UTC
|
||||||
WORKSPACE_SSH_PORT=2222
|
WORKSPACE_SSH_PORT=2222
|
||||||
|
WORKSPACE_INSTALL_FFMPEG=false
|
||||||
|
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||||
|
|
||||||
### PHP_FPM ############################################################################################################
|
### PHP_FPM ###############################################
|
||||||
|
|
||||||
PHP_FPM_INSTALL_XDEBUG=false
|
PHP_FPM_INSTALL_BCMATH=true
|
||||||
PHP_FPM_INSTALL_MONGO=false
|
PHP_FPM_INSTALL_MYSQLI=true
|
||||||
PHP_FPM_INSTALL_SOAP=false
|
PHP_FPM_INSTALL_INTL=true
|
||||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=false
|
PHP_FPM_INSTALL_IMAGEMAGICK=true
|
||||||
PHP_FPM_INSTALL_BCMATH=false
|
PHP_FPM_INSTALL_OPCACHE=true
|
||||||
PHP_FPM_INSTALL_PHPREDIS=false
|
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
|
||||||
|
PHP_FPM_INSTALL_PHPREDIS=true
|
||||||
PHP_FPM_INSTALL_MEMCACHED=false
|
PHP_FPM_INSTALL_MEMCACHED=false
|
||||||
PHP_FPM_INSTALL_OPCACHE=false
|
PHP_FPM_INSTALL_XDEBUG=false
|
||||||
|
PHP_FPM_INSTALL_XHPROF=false
|
||||||
|
PHP_FPM_INSTALL_PHPDBG=false
|
||||||
|
PHP_FPM_INSTALL_IMAP=false
|
||||||
|
PHP_FPM_INSTALL_MONGO=false
|
||||||
|
PHP_FPM_INSTALL_AMQP=false
|
||||||
|
PHP_FPM_INSTALL_MSSQL=false
|
||||||
|
PHP_FPM_INSTALL_SSH2=false
|
||||||
|
PHP_FPM_INSTALL_SOAP=false
|
||||||
|
PHP_FPM_INSTALL_XSL=false
|
||||||
|
PHP_FPM_INSTALL_GMP=false
|
||||||
PHP_FPM_INSTALL_EXIF=false
|
PHP_FPM_INSTALL_EXIF=false
|
||||||
PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false
|
PHP_FPM_INSTALL_AEROSPIKE=false
|
||||||
PHP_FPM_INSTALL_MYSQLI=false
|
PHP_FPM_INSTALL_PGSQL=false
|
||||||
PHP_FPM_INSTALL_TOKENIZER=false
|
|
||||||
PHP_FPM_INSTALL_INTL=false
|
|
||||||
PHP_FPM_INSTALL_GHOSTSCRIPT=false
|
PHP_FPM_INSTALL_GHOSTSCRIPT=false
|
||||||
|
PHP_FPM_INSTALL_LDAP=false
|
||||||
|
PHP_FPM_INSTALL_PHALCON=false
|
||||||
|
PHP_FPM_INSTALL_SWOOLE=false
|
||||||
|
PHP_FPM_INSTALL_TAINT=false
|
||||||
|
PHP_FPM_INSTALL_PG_CLIENT=false
|
||||||
|
PHP_FPM_INSTALL_POSTGIS=false
|
||||||
|
PHP_FPM_INSTALL_PCNTL=false
|
||||||
|
PHP_FPM_INSTALL_CALENDAR=false
|
||||||
|
PHP_FPM_INSTALL_FAKETIME=false
|
||||||
|
PHP_FPM_INSTALL_IONCUBE=false
|
||||||
|
PHP_FPM_INSTALL_RDKAFKA=false
|
||||||
|
PHP_FPM_FAKETIME=-0
|
||||||
|
PHP_FPM_INSTALL_APCU=false
|
||||||
|
PHP_FPM_INSTALL_YAML=false
|
||||||
|
PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false
|
||||||
|
PHP_FPM_INSTALL_MYSQL_CLIENT=false
|
||||||
|
PHP_FPM_INSTALL_PING=false
|
||||||
|
PHP_FPM_INSTALL_SSHPASS=false
|
||||||
|
PHP_FPM_FFMPEG=false
|
||||||
|
PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8"
|
||||||
|
|
||||||
### NGINX ##############################################################################################################
|
### PHP_WORKER ############################################
|
||||||
|
|
||||||
|
PHP_WORKER_INSTALL_PGSQL=false
|
||||||
|
PHP_WORKER_INSTALL_BCMATH=false
|
||||||
|
PHP_WORKER_INSTALL_PHALCON=false
|
||||||
|
PHP_WORKER_INSTALL_SOAP=false
|
||||||
|
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
|
||||||
|
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
|
||||||
|
PHP_WORKER_INSTALL_AMQP=false
|
||||||
|
PHP_WORKER_INSTALL_GHOSTSCRIPT=false
|
||||||
|
PHP_WORKER_INSTALL_SWOOLE=false
|
||||||
|
PHP_WORKER_INSTALL_TAINT=false
|
||||||
|
PHP_WORKER_INSTALL_FFMPEG=false
|
||||||
|
PHP_WORKER_INSTALL_GMP=false
|
||||||
|
|
||||||
|
PHP_WORKER_PUID=1000
|
||||||
|
PHP_WORKER_PGID=1000
|
||||||
|
|
||||||
|
### NGINX #################################################
|
||||||
|
|
||||||
NGINX_HOST_HTTP_PORT=80
|
NGINX_HOST_HTTP_PORT=80
|
||||||
NGINX_HOST_HTTPS_PORT=443
|
NGINX_HOST_HTTPS_PORT=443
|
||||||
NGINX_HOST_LOG_PATH=./logs/nginx/
|
NGINX_HOST_LOG_PATH=./logs/nginx/
|
||||||
NGINX_SITES_PATH=./nginx/sites/
|
NGINX_SITES_PATH=./nginx/sites/
|
||||||
|
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||||
|
NGINX_PHP_UPSTREAM_PORT=9000
|
||||||
|
NGINX_SSL_PATH=./nginx/ssl/
|
||||||
|
|
||||||
### APACHE #############################################################################################################
|
### APACHE ################################################
|
||||||
|
|
||||||
APACHE_HOST_HTTP_PORT=80
|
APACHE_HOST_HTTP_PORT=80
|
||||||
APACHE_HOST_HTTPS_PORT=443
|
APACHE_HOST_HTTPS_PORT=443
|
||||||
APACHE2_PHP_SOCKET=php-fpm:9000
|
|
||||||
APACHE_HOST_LOG_PATH=./logs/apache2
|
APACHE_HOST_LOG_PATH=./logs/apache2
|
||||||
PHP_SOCKET=php-fpm:9000
|
APACHE_SITES_PATH=./apache2/sites
|
||||||
|
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||||
|
APACHE_PHP_UPSTREAM_PORT=9000
|
||||||
|
APACHE_PHP_UPSTREAM_TIMEOUT=60
|
||||||
|
APACHE_DOCUMENT_ROOT=/var/www/
|
||||||
|
|
||||||
### MYSQL ##############################################################################################################
|
### MYSQL #################################################
|
||||||
|
|
||||||
|
MYSQL_VERSION=latest
|
||||||
MYSQL_DATABASE=default
|
MYSQL_DATABASE=default
|
||||||
MYSQL_USER=default
|
MYSQL_USER=default
|
||||||
MYSQL_PASSWORD=secret
|
MYSQL_PASSWORD=secret
|
||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
MYSQL_ROOT_PASSWORD=root
|
MYSQL_ROOT_PASSWORD=root
|
||||||
|
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
|
||||||
|
|
||||||
### Percona ############################################################################################################
|
### REDIS #################################################
|
||||||
|
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
### REDIS CLUSTER #########################################
|
||||||
|
|
||||||
|
REDIS_CLUSTER_PORT_RANGE=7000-7005
|
||||||
|
|
||||||
|
### ZooKeeper #############################################
|
||||||
|
|
||||||
|
ZOOKEEPER_PORT=2181
|
||||||
|
|
||||||
|
### Percona ###############################################
|
||||||
|
|
||||||
PERCONA_DATABASE=homestead
|
PERCONA_DATABASE=homestead
|
||||||
PERCONA_USER=homestead
|
PERCONA_USER=homestead
|
||||||
PERCONA_PASSWORD=secret
|
PERCONA_PASSWORD=secret
|
||||||
PERCONA_PORT=3306
|
PERCONA_PORT=3306
|
||||||
PERCONA_ROOT_PASSWORD=root
|
PERCONA_ROOT_PASSWORD=root
|
||||||
|
PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d
|
||||||
|
|
||||||
### MSSQL ##############################################################################################################
|
### MSSQL #################################################
|
||||||
|
|
||||||
MSSQL_DATABASE=homestead
|
MSSQL_DATABASE=homestead
|
||||||
MSSQL_PASSWORD=yourStrong(!)Password
|
MSSQL_PASSWORD=yourStrong(!)Password
|
||||||
MSSQL_PORT=1433
|
MSSQL_PORT=1433
|
||||||
|
|
||||||
### MARIADB ############################################################################################################
|
### MARIADB ###############################################
|
||||||
|
|
||||||
MARIADB_DATABASE=default
|
MARIADB_DATABASE=default
|
||||||
MARIADB_USER=default
|
MARIADB_USER=default
|
||||||
MARIADB_PASSWORD=secret
|
MARIADB_PASSWORD=secret
|
||||||
MARIADB_PORT=3306
|
MARIADB_PORT=3306
|
||||||
MARIADB_ROOT_PASSWORD=root
|
MARIADB_ROOT_PASSWORD=root
|
||||||
|
MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
|
||||||
|
|
||||||
### POSTGRES ###########################################################################################################
|
### POSTGRES ##############################################
|
||||||
|
|
||||||
POSTGRES_DB=default
|
POSTGRES_DB=default
|
||||||
POSTGRES_USER=default
|
POSTGRES_USER=default
|
||||||
POSTGRES_PASSWORD=secret
|
POSTGRES_PASSWORD=secret
|
||||||
POSTGRES_PORT=5432
|
POSTGRES_PORT=5432
|
||||||
|
POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
|
||||||
|
|
||||||
### RABBITMQ ###########################################################################################################
|
### RABBITMQ ##############################################
|
||||||
|
|
||||||
RABBITMQ_NODE_HOST_PORT=5672
|
RABBITMQ_NODE_HOST_PORT=5672
|
||||||
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
|
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
|
||||||
@ -127,38 +292,43 @@ RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
|
|||||||
RABBITMQ_DEFAULT_USER=guest
|
RABBITMQ_DEFAULT_USER=guest
|
||||||
RABBITMQ_DEFAULT_PASS=guest
|
RABBITMQ_DEFAULT_PASS=guest
|
||||||
|
|
||||||
### ELASTICSEARCH ######################################################################################################
|
### ELASTICSEARCH #########################################
|
||||||
|
|
||||||
ELASTICSEARCH_HOST_HTTP_PORT=9200
|
ELASTICSEARCH_HOST_HTTP_PORT=9200
|
||||||
ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
|
ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
|
||||||
|
|
||||||
### MEMCACHED ##########################################################################################################
|
### KIBANA ################################################
|
||||||
|
|
||||||
|
KIBANA_HTTP_PORT=5601
|
||||||
|
|
||||||
|
### MEMCACHED #############################################
|
||||||
|
|
||||||
MEMCACHED_HOST_PORT=11211
|
MEMCACHED_HOST_PORT=11211
|
||||||
|
|
||||||
### BEANSTALKD CONSOLE #################################################################################################
|
### BEANSTALKD CONSOLE ####################################
|
||||||
|
|
||||||
BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
|
BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
|
||||||
BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
|
BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
|
||||||
BEANSTALKD_CONSOLE_HOST_PORT=2080
|
BEANSTALKD_CONSOLE_HOST_PORT=2080
|
||||||
|
|
||||||
### BEANSTALKD #########################################################################################################
|
### BEANSTALKD ############################################
|
||||||
|
|
||||||
BEANSTALKD_HOST_PORT=11300
|
BEANSTALKD_HOST_PORT=11300
|
||||||
|
|
||||||
### SELENIUM ###########################################################################################################
|
### SELENIUM ##############################################
|
||||||
|
|
||||||
SELENIUM_PORT=4444
|
SELENIUM_PORT=4444
|
||||||
|
|
||||||
### MINIO ##############################################################################################################
|
### MINIO #################################################
|
||||||
|
|
||||||
MINIO_PORT=9000
|
MINIO_PORT=9000
|
||||||
|
|
||||||
### ADMINER ############################################################################################################
|
### ADMINER ###############################################
|
||||||
|
|
||||||
ADM_PORT=8080
|
ADM_PORT=8080
|
||||||
|
ADM_INSTALL_MSSQL=false
|
||||||
|
|
||||||
### PHP MY ADMIN #######################################################################################################
|
### PHP MY ADMIN ##########################################
|
||||||
|
|
||||||
# Accepted values: mariadb - mysql
|
# Accepted values: mariadb - mysql
|
||||||
|
|
||||||
@ -171,71 +341,372 @@ PMA_PASSWORD=secret
|
|||||||
PMA_ROOT_PASSWORD=secret
|
PMA_ROOT_PASSWORD=secret
|
||||||
PMA_PORT=8080
|
PMA_PORT=8080
|
||||||
|
|
||||||
### VARNISH ############################################################################################################
|
### MAILDEV ###############################################
|
||||||
|
|
||||||
|
MAILDEV_HTTP_PORT=1080
|
||||||
|
MAILDEV_SMTP_PORT=25
|
||||||
|
|
||||||
|
### VARNISH ###############################################
|
||||||
|
|
||||||
VARNISH_CONFIG=/etc/varnish/default.vcl
|
VARNISH_CONFIG=/etc/varnish/default.vcl
|
||||||
VARNISH_PORT=8080
|
VARNISH_PORT=8080
|
||||||
VARNISH_BACKEND_PORT=8888
|
VARNISH_BACKEND_PORT=8888
|
||||||
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600
|
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600
|
||||||
|
|
||||||
### Varnish ############################################################################################################
|
### Varnish ###############################################
|
||||||
|
|
||||||
# Proxy 1
|
# Proxy 1
|
||||||
|
|
||||||
VARNISH_PROXY1_CACHE_SIZE=128m
|
VARNISH_PROXY1_CACHE_SIZE=128m
|
||||||
VARNISH_PROXY1_BACKEND_HOST=workspace
|
VARNISH_PROXY1_BACKEND_HOST=workspace
|
||||||
VARNISH_PROXY1_SERVER=SERVER1
|
VARNISH_PROXY1_SERVER=SERVER1
|
||||||
|
|
||||||
# Proxy 2
|
# Proxy 2
|
||||||
|
|
||||||
VARNISH_PROXY2_CACHE_SIZE=128m
|
VARNISH_PROXY2_CACHE_SIZE=128m
|
||||||
VARNISH_PROXY2_BACKEND_HOST=workspace
|
VARNISH_PROXY2_BACKEND_HOST=workspace
|
||||||
VARNISH_PROXY2_SERVER=SERVER2
|
VARNISH_PROXY2_SERVER=SERVER2
|
||||||
|
|
||||||
### HAPROXY ############################################################################################################
|
### HAPROXY ###############################################
|
||||||
|
|
||||||
HAPROXY_HOST_HTTP_PORT=8085
|
HAPROXY_HOST_HTTP_PORT=8085
|
||||||
|
|
||||||
### JENKINS ############################################################################################################
|
### JENKINS ###############################################
|
||||||
|
|
||||||
JENKINS_HOST_HTTP_PORT=8090
|
JENKINS_HOST_HTTP_PORT=8090
|
||||||
JENKINS_HOST_SLAVE_AGENT_PORT=50000
|
JENKINS_HOST_SLAVE_AGENT_PORT=50000
|
||||||
JENKINS_HOME=./jenkins/jenkins_home
|
JENKINS_HOME=./jenkins/jenkins_home
|
||||||
|
|
||||||
### BLACKFIRE ##########################################################################################################
|
### GRAFANA ###############################################
|
||||||
|
|
||||||
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time.
|
GRAFANA_PORT=3000
|
||||||
# visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
|
|
||||||
|
|
||||||
|
### BLACKFIRE #############################################
|
||||||
|
|
||||||
|
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
|
||||||
INSTALL_BLACKFIRE=false
|
INSTALL_BLACKFIRE=false
|
||||||
BLACKFIRE_CLIENT_ID=<client_id>
|
BLACKFIRE_CLIENT_ID=<client_id>
|
||||||
BLACKFIRE_CLIENT_TOKEN=<client_token>
|
BLACKFIRE_CLIENT_TOKEN=<client_token>
|
||||||
BLACKFIRE_SERVER_ID=<server_id>
|
BLACKFIRE_SERVER_ID=<server_id>
|
||||||
BLACKFIRE_SERVER_TOKEN=<server_token>
|
BLACKFIRE_SERVER_TOKEN=<server_token>
|
||||||
|
|
||||||
|
### AEROSPIKE #############################################
|
||||||
|
|
||||||
##### TO BE CONTINUE .................................
|
AEROSPIKE_SERVICE_PORT=3000
|
||||||
|
AEROSPIKE_FABRIC_PORT=3001
|
||||||
|
AEROSPIKE_HEARTBEAT_PORT=3002
|
||||||
|
AEROSPIKE_INFO_PORT=3003
|
||||||
|
AEROSPIKE_STORAGE_GB=1
|
||||||
|
AEROSPIKE_MEM_GB=1
|
||||||
|
AEROSPIKE_NAMESPACE=test
|
||||||
|
|
||||||
# ......... Missing: neo4j mongo rethinkdb redis aerospike pgadmin...
|
### RETHINKDB #############################################
|
||||||
# .........
|
|
||||||
# .........
|
RETHINKDB_PORT=8090
|
||||||
|
|
||||||
|
### MONGODB ###############################################
|
||||||
|
|
||||||
|
MONGODB_PORT=27017
|
||||||
|
|
||||||
|
### CADDY #################################################
|
||||||
|
|
||||||
|
CADDY_HOST_HTTP_PORT=80
|
||||||
|
CADDY_HOST_HTTPS_PORT=443
|
||||||
|
CADDY_HOST_LOG_PATH=./logs/caddy
|
||||||
|
CADDY_CONFIG_PATH=./caddy/caddy
|
||||||
|
|
||||||
|
### LARAVEL ECHO SERVER ###################################
|
||||||
|
|
||||||
|
LARAVEL_ECHO_SERVER_PORT=6001
|
||||||
|
|
||||||
|
### THUMBOR ############################################################################################################
|
||||||
|
|
||||||
|
THUMBOR_PORT=8000
|
||||||
|
THUMBOR_LOG_FORMAT="%(asctime)s %(name)s:%(levelname)s %(message)s"
|
||||||
|
THUMBOR_LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
|
||||||
|
MAX_WIDTH=0
|
||||||
|
MAX_HEIGHT=0
|
||||||
|
MIN_WIDTH=1
|
||||||
|
MIN_HEIGHT=1
|
||||||
|
ALLOWED_SOURCES=[]
|
||||||
|
QUALITY=80
|
||||||
|
WEBP_QUALITY=None
|
||||||
|
PNG_COMPRESSION_LEVEL=6
|
||||||
|
AUTO_WEBP=False
|
||||||
|
MAX_AGE=86400
|
||||||
|
MAX_AGE_TEMP_IMAGE=0
|
||||||
|
RESPECT_ORIENTATION=False
|
||||||
|
IGNORE_SMART_ERRORS=False
|
||||||
|
PRESERVE_EXIF_INFO=False
|
||||||
|
ALLOW_ANIMATED_GIFS=True
|
||||||
|
USE_GIFSICLE_ENGINE=False
|
||||||
|
USE_BLACKLIST=False
|
||||||
|
LOADER=thumbor.loaders.http_loader
|
||||||
|
STORAGE=thumbor.storages.file_storage
|
||||||
|
AWS_ACCESS_KEY_ID=
|
||||||
|
AWS_SECRET_ACCESS_KEY=
|
||||||
|
RESULT_STORAGE=thumbor.result_storages.file_storage
|
||||||
|
ENGINE=thumbor.engines.pil
|
||||||
|
SECURITY_KEY="MY_SECURE_KEY"
|
||||||
|
ALLOW_UNSAFE_URL=True
|
||||||
|
ALLOW_OLD_URLS=True
|
||||||
|
FILE_LOADER_ROOT_PATH=/data/loader
|
||||||
|
HTTP_LOADER_CONNECT_TIMEOUT=5
|
||||||
|
HTTP_LOADER_REQUEST_TIMEOUT=20
|
||||||
|
HTTP_LOADER_FOLLOW_REDIRECTS=True
|
||||||
|
HTTP_LOADER_MAX_REDIRECTS=5
|
||||||
|
HTTP_LOADER_FORWARD_USER_AGENT=False
|
||||||
|
HTTP_LOADER_DEFAULT_USER_AGENT="Thumbor/5.2.1"
|
||||||
|
HTTP_LOADER_PROXY_HOST=None
|
||||||
|
HTTP_LOADER_PROXY_PORT=None
|
||||||
|
HTTP_LOADER_PROXY_USERNAME=None
|
||||||
|
HTTP_LOADER_PROXY_PASSWORD=None
|
||||||
|
HTTP_LOADER_CA_CERTS=None
|
||||||
|
HTTP_LOADER_VALIDATE_CERTS=True
|
||||||
|
HTTP_LOADER_CLIENT_KEY=None
|
||||||
|
HTTP_LOADER_CLIENT_CERT=None
|
||||||
|
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=False
|
||||||
|
STORAGE_EXPIRATION_SECONDS=2592000
|
||||||
|
STORES_CRYPTO_KEY_FOR_EACH_IMAGE=False
|
||||||
|
FILE_STORAGE_ROOT_PATH=/data/storage
|
||||||
|
UPLOAD_MAX_SIZE=0
|
||||||
|
UPLOAD_ENABLED=False
|
||||||
|
UPLOAD_PHOTO_STORAGE=thumbor.storages.file_storage
|
||||||
|
UPLOAD_DELETE_ALLOWED=False
|
||||||
|
UPLOAD_PUT_ALLOWED=False
|
||||||
|
UPLOAD_DEFAULT_FILENAME=image
|
||||||
|
MONGO_STORAGE_SERVER_HOST=mongo
|
||||||
|
MONGO_STORAGE_SERVER_PORT=27017
|
||||||
|
MONGO_STORAGE_SERVER_DB=thumbor
|
||||||
|
MONGO_STORAGE_SERVER_COLLECTION=images
|
||||||
|
REDIS_STORAGE_SERVER_HOST=redis
|
||||||
|
REDIS_STORAGE_SERVER_PORT=6379
|
||||||
|
REDIS_STORAGE_SERVER_DB=0
|
||||||
|
REDIS_STORAGE_SERVER_PASSWORD=None
|
||||||
|
REDIS_RESULT_STORAGE_SERVER_HOST=redis
|
||||||
|
REDIS_RESULT_STORAGE_SERVER_PORT=6379
|
||||||
|
REDIS_RESULT_STORAGE_SERVER_DB=0
|
||||||
|
REDIS_RESULT_STORAGE_SERVER_PASSWORD=None
|
||||||
|
MEMCACHE_STORAGE_SERVERS=["localhost:11211",]
|
||||||
|
MIXED_STORAGE_FILE_STORAGE=thumbor.storages.no_storage
|
||||||
|
MIXED_STORAGE_CRYPTO_STORAGE=thumbor.storages.no_storage
|
||||||
|
MIXED_STORAGE_DETECTOR_STORAGE=thumbor.storages.no_storage
|
||||||
|
META_CALLBACK_NAME=None
|
||||||
|
DETECTORS=[]
|
||||||
|
FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
|
||||||
|
OPTIMIZERS=[]
|
||||||
|
JPEGTRAN_PATH=/usr/bin/jpegtran
|
||||||
|
PROGRESSIVE_JPEG=True
|
||||||
|
FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"]
|
||||||
|
RESULT_STORAGE_EXPIRATION_SECONDS=0
|
||||||
|
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
|
||||||
|
RESULT_STORAGE_STORES_UNSAFE=False
|
||||||
|
REDIS_QUEUE_SERVER_HOST=redis
|
||||||
|
REDIS_QUEUE_SERVER_PORT=6379
|
||||||
|
REDIS_QUEUE_SERVER_DB="0"
|
||||||
|
REDIS_QUEUE_SERVER_PASSWORD=None
|
||||||
|
SQS_QUEUE_KEY_ID=None
|
||||||
|
SQS_QUEUE_KEY_SECRET=None
|
||||||
|
SQS_QUEUE_REGION=us-east-1
|
||||||
|
USE_CUSTOM_ERROR_HANDLING=False
|
||||||
|
ERROR_HANDLER_MODULE=thumbor.error_handlers.sentry
|
||||||
|
ERROR_FILE_LOGGER=None
|
||||||
|
ERROR_FILE_NAME_USE_CONTEXT="False"
|
||||||
|
SENTRY_DSN_URL=
|
||||||
|
TC_AWS_REGION=eu-west-1
|
||||||
|
TC_AWS_ENDPOINT=None
|
||||||
|
TC_AWS_STORAGE_BUCKET=
|
||||||
|
TC_AWS_STORAGE_ROOT_PATH=
|
||||||
|
TC_AWS_LOADER_BUCKET=
|
||||||
|
TC_AWS_LOADER_ROOT_PATH=
|
||||||
|
TC_AWS_RESULT_STORAGE_BUCKET=
|
||||||
|
TC_AWS_RESULT_STORAGE_ROOT_PATH=
|
||||||
|
TC_AWS_STORAGE_SSE=False
|
||||||
|
TC_AWS_STORAGE_RRS=False
|
||||||
|
TC_AWS_ENABLE_HTTP_LOADER=False
|
||||||
|
TC_AWS_ALLOWED_BUCKETS=False
|
||||||
|
TC_AWS_STORE_METADATA=False
|
||||||
|
|
||||||
|
### SOLR ##################################################
|
||||||
|
|
||||||
|
SOLR_VERSION=5.5
|
||||||
|
SOLR_PORT=8983
|
||||||
|
SOLR_DATAIMPORTHANDLER_MYSQL=false
|
||||||
|
SOLR_DATAIMPORTHANDLER_MSSQL=false
|
||||||
|
|
||||||
|
### GITLAB ###############################################
|
||||||
|
GITLAB_POSTGRES_INIT=true
|
||||||
|
GITLAB_HOST_HTTP_PORT=8989
|
||||||
|
GITLAB_HOST_HTTPS_PORT=9898
|
||||||
|
GITLAB_HOST_SSH_PORT=2289
|
||||||
|
GITLAB_DOMAIN_NAME=http://localhost
|
||||||
|
GITLAB_ROOT_PASSWORD=laradock
|
||||||
|
GITLAB_HOST_LOG_PATH=./logs/gitlab
|
||||||
|
GITLAB_POSTGRES_HOST=postgres
|
||||||
|
GITLAB_POSTGRES_USER=laradock_gitlab
|
||||||
|
GITLAB_POSTGRES_PASSWORD=laradock_gitlab
|
||||||
|
GITLAB_POSTGRES_DB=laradock_gitlab
|
||||||
|
|
||||||
|
### GITLAB-RUNNER ###############################################
|
||||||
|
GITLAB_CI_SERVER_URL=http://localhost:8989
|
||||||
|
GITLAB_RUNNER_REGISTRATION_TOKEN=<my-registration-token>
|
||||||
|
GITLAB_REGISTER_NON_INTERACTIVE=true
|
||||||
|
|
||||||
|
### JUPYTERHUB ###############################################
|
||||||
|
JUPYTERHUB_POSTGRES_INIT=true
|
||||||
|
JUPYTERHUB_POSTGRES_HOST=postgres
|
||||||
|
JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub
|
||||||
|
JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub
|
||||||
|
JUPYTERHUB_POSTGRES_DB=laradock_jupyterhub
|
||||||
|
JUPYTERHUB_PORT=9991
|
||||||
|
JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback
|
||||||
|
JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID}
|
||||||
|
JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET}
|
||||||
|
JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
|
||||||
|
JUPYTERHUB_USER_DATA=/jupyterhub
|
||||||
|
JUPYTERHUB_USER_LIST=./jupyterhub/userlist
|
||||||
|
JUPYTERHUB_ENABLE_NVIDIA=false
|
||||||
|
|
||||||
|
### IPYTHON ##################################################
|
||||||
|
LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
|
||||||
|
|
||||||
|
### NETDATA ###############################################
|
||||||
|
NETDATA_PORT=19999
|
||||||
|
|
||||||
|
### REDISWEBUI #########################################
|
||||||
|
REDIS_WEBUI_USERNAME=laradock
|
||||||
|
REDIS_WEBUI_PASSWORD=laradock
|
||||||
|
REDIS_WEBUI_CONNECT_HOST=redis
|
||||||
|
REDIS_WEBUI_CONNECT_PORT=6379
|
||||||
|
REDIS_WEBUI_PORT=9987
|
||||||
|
|
||||||
|
### MONGOWEBUI ###############################################
|
||||||
|
MONGO_WEBUI_PORT=3000
|
||||||
|
MONGO_WEBUI_ROOT_URL=http://localhost
|
||||||
|
MONGO_WEBUI_MONGO_URL=mongodb://mongo:27017/
|
||||||
|
MONGO_WEBUI_INSTALL_MONGO=false
|
||||||
|
|
||||||
|
### METABASE ###############################################
|
||||||
|
METABASE_PORT=3030
|
||||||
|
METABASE_DB_FILE=metabase.db
|
||||||
|
METABASE_JAVA_TIMEZONE=US/Pacific
|
||||||
|
|
||||||
|
### IDE ###############################################
|
||||||
|
IDE_THEIA_PORT=987
|
||||||
|
IDE_WEBIDE_PORT=984
|
||||||
|
IDE_CODIAD_PORT=985
|
||||||
|
IDE_ICECODER_PORT=986
|
||||||
|
|
||||||
|
### DOCKERREGISTRY ###############################################
|
||||||
|
DOCKER_REGISTRY_PORT=5000
|
||||||
|
|
||||||
|
### DOCKERWEBUI ###############################################
|
||||||
|
DOCKER_WEBUI_REGISTRY_HOST=docker-registry
|
||||||
|
DOCKER_WEBUI_REGISTRY_PORT=5000
|
||||||
|
# if have use https proxy please set to 1
|
||||||
|
DOCKER_REGISTRY_USE_SSL=0
|
||||||
|
DOCKER_REGISTRY_BROWSE_ONLY=false
|
||||||
|
DOCKER_WEBUI_PORT=8754
|
||||||
|
|
||||||
|
### MAILU ###############################################
|
||||||
|
MAILU_VERSION=latest
|
||||||
|
MAILU_RECAPTCHA_PUBLIC_KEY=<YOUR_RECAPTCHA_PUBLIC_KEY>
|
||||||
|
MAILU_RECAPTCHA_PRIVATE_KEY=<YOUR_RECAPTCHA_PRIVATE_KEY>
|
||||||
|
# Main mail domain
|
||||||
|
MAILU_HTTP_PORT=6080
|
||||||
|
MAILU_HTTPS_PORT=60443
|
||||||
|
MAILU_DOMAIN=example.com
|
||||||
|
MAILU_INIT_ADMIN_USERNAME=laradock
|
||||||
|
MAILU_INIT_ADMIN_PASSWORD=laradock
|
||||||
|
# Hostnames for this server, separated with comas
|
||||||
|
MAILU_HOSTNAMES=mail.example.com,alternative.example.com,yetanother.example.com
|
||||||
|
# Postmaster local part (will append the main mail domain)
|
||||||
|
MAILU_POSTMASTER=admin
|
||||||
|
# Set to a randomly generated 16 bytes string
|
||||||
|
MAILU_SECRET_KEY=ChangeMeChangeMe
|
||||||
|
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
|
||||||
|
MAILU_TLS_FLAVOR=cert
|
||||||
|
# Authentication rate limit (per source IP address)
|
||||||
|
MAILU_AUTH_RATELIMIT=10/minute;1000/hour
|
||||||
|
# Opt-out of statistics, replace with "True" to opt out
|
||||||
|
MAILU_DISABLE_STATISTICS=False
|
||||||
|
# Message size limit in bytes
|
||||||
|
# Default: accept messages up to 50MB
|
||||||
|
MAILU_MESSAGE_SIZE_LIMIT=50000000
|
||||||
|
# Will relay all outgoing mails if configured
|
||||||
|
MAILU_RELAYHOST=
|
||||||
|
# Networks granted relay permissions, make sure that you include your Docker
|
||||||
|
# internal network (default to 172.17.0.0/16)
|
||||||
|
MAILU_RELAYNETS=172.16.0.0/12
|
||||||
|
# Fetchmail delay
|
||||||
|
MAILU_FETCHMAIL_DELAY=600
|
||||||
|
# Recipient delimiter, character used to delimiter localpart from custom address part
|
||||||
|
# e.g. localpart+custom@domain;tld
|
||||||
|
MAILU_RECIPIENT_DELIMITER=+
|
||||||
|
# DMARC rua and ruf email
|
||||||
|
MAILU_DMARC_RUA=admin
|
||||||
|
MAILU_DMARC_RUF=admin
|
||||||
|
# Welcome email, enable and set a topic and body if you wish to send welcome
|
||||||
|
# emails to all users.
|
||||||
|
MAILU_WELCOME=True
|
||||||
|
MAILU_WELCOME_SUBJECT=Welcome to your new email account
|
||||||
|
MAILU_WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly!
|
||||||
|
# Path to the admin interface if enabled
|
||||||
|
MAILU_WEB_ADMIN=/admin
|
||||||
|
# Path to the webmail if enabled
|
||||||
|
MAILU_WEB_WEBMAIL=/webmail
|
||||||
|
# Website name
|
||||||
|
MAILU_SITENAME=Example Mail
|
||||||
|
# Linked Website URL
|
||||||
|
MAILU_WEBSITE=http://mail.example.com
|
||||||
|
# Default password scheme used for newly created accounts and changed passwords
|
||||||
|
# (value: SHA512-CRYPT, SHA256-CRYPT, MD5-CRYPT, CRYPT)
|
||||||
|
MAILU_PASSWORD_SCHEME=SHA512-CRYPT
|
||||||
|
# Expose the admin interface (value: true, false)
|
||||||
|
MAILU_ADMIN=true
|
||||||
|
# Choose which webmail to run if any (values: roundcube, rainloop, none)
|
||||||
|
MAILU_WEBMAIL=rainloop
|
||||||
|
# Dav server implementation (value: radicale, none)
|
||||||
|
MAILU_WEBDAV=radicale
|
||||||
|
|
||||||
|
|
||||||
|
### TRAEFIK #################################################
|
||||||
|
|
||||||
############################
|
TRAEFIK_HOST_HTTP_PORT=80
|
||||||
# Miscellaneous
|
TRAEFIK_HOST_HTTPS_PORT=443
|
||||||
############################
|
|
||||||
|
|
||||||
# Replace with your Docker Host IP (will be appended to /etc/hosts)
|
|
||||||
|
|
||||||
DOCKER_HOST_IP=10.0.75.1
|
|
||||||
|
|
||||||
|
|
||||||
# The Remote Interpreter entry matching name `laradock`
|
### MOSQUITTO #################################################
|
||||||
|
|
||||||
PHP_IDE_CONFIG=serverName=laradock
|
MOSQUITTO_PORT=9001
|
||||||
|
|
||||||
|
### COUCHDB ###################################################
|
||||||
|
|
||||||
# Fix for windows users to make sure the application path works.
|
COUCHDB_PORT=5984
|
||||||
|
|
||||||
COMPOSE_CONVERT_WINDOWS_PATHS=1
|
### Manticore Search ##########################################
|
||||||
|
|
||||||
|
MANTICORE_CONFIG_PATH=./manticore/config
|
||||||
|
MANTICORE_API_PORT=9312
|
||||||
|
MANTICORE_SPHINXQL_PORT=9306
|
||||||
|
MANTICORE_HTTP_PORT=9308
|
||||||
|
|
||||||
|
### pgadmin ##################################################
|
||||||
|
# use this address http://ip6-localhost:5050
|
||||||
|
PGADMIN_PORT=5050
|
||||||
|
PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org
|
||||||
|
PGADMIN_DEFAULT_PASSWORD=admin
|
||||||
|
|
||||||
|
### SONARQUBE ################################################
|
||||||
|
## docker-compose up -d sonarqube
|
||||||
|
## (If you encounter a database error)
|
||||||
|
## docker-compose exec --user=root postgres
|
||||||
|
## source docker-entrypoint-initdb.d/init_sonarqube_db.sh
|
||||||
|
## (If you encounter logs error)
|
||||||
|
## docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/sonarqube/logs
|
||||||
|
|
||||||
|
SONARQUBE_HOSTNAME=sonar.example.com
|
||||||
|
SONARQUBE_PORT=9000
|
||||||
|
SONARQUBE_POSTGRES_INIT=true
|
||||||
|
SONARQUBE_POSTGRES_HOST=postgres
|
||||||
|
SONARQUBE_POSTGRES_DB=sonar
|
||||||
|
SONARQUBE_POSTGRES_USER=sonar
|
||||||
|
SONARQUBE_POSTGRES_PASSWORD=sonarPass
|
||||||
|
3
gitlab/Dockerfile
Normal file
3
gitlab/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM gitlab/gitlab-ce:latest
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
3
grafana/Dockerfile
Normal file
3
grafana/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM grafana/grafana:latest
|
||||||
|
|
||||||
|
EXPOSE 3000
|
@ -1,5 +1,5 @@
|
|||||||
FROM dockercloud/haproxy:latest
|
FROM dockercloud/haproxy:latest
|
||||||
|
|
||||||
MAINTAINER ZeroC0D3 Team<zeroc0d3.team@gmail.com>
|
LABEL maintainer="ZeroC0D3 Team<zeroc0d3.team@gmail.com>"
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
FROM ubuntu:14.04
|
FROM ubuntu:14.04
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
|
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
|
||||||
|
|
||||||
RUN apt-get update -y \
|
RUN apt-get update -y \
|
||||||
&& apt-get install -y software-properties-common \
|
&& apt-get install -y software-properties-common wget \
|
||||||
|
&& wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - \
|
||||||
&& add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" \
|
&& add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" \
|
||||||
&& apt-get update -y \
|
&& apt-get update -y \
|
||||||
&& apt-get install -y hhvm \
|
&& apt-get install -y hhvm \
|
||||||
@ -14,7 +15,7 @@ RUN apt-get update -y \
|
|||||||
|
|
||||||
RUN mkdir -p /var/www
|
RUN mkdir -p /var/www
|
||||||
|
|
||||||
ADD server.ini /etc/hhvm/server.ini
|
COPY server.ini /etc/hhvm/server.ini
|
||||||
|
|
||||||
RUN usermod -u 1000 www-data
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
|
5
ide-codiad/Dockerfile
Normal file
5
ide-codiad/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM linuxserver/codiad
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
COPY config.php /defaults/config.php
|
43
ide-codiad/config.php
Normal file
43
ide-codiad/config.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Copyright (c) Codiad & Kent Safranski (codiad.com), distributed
|
||||||
|
* as-is and without warranty under the MIT License. See
|
||||||
|
* [root]/license.txt for more. This information must remain intact.
|
||||||
|
*/
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// CONFIG
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// PATH TO CODIAD
|
||||||
|
define("BASE_PATH", "/config/www/");
|
||||||
|
// BASE URL TO CODIAD (without trailing slash)
|
||||||
|
define("BASE_URL", "localhost");
|
||||||
|
// THEME : default, modern or clear (look at /themes)
|
||||||
|
define("THEME", "default");
|
||||||
|
// ABSOLUTE PATH, this is used as whitelist for absolute path projects
|
||||||
|
define("WHITEPATHS", BASE_PATH . ",/home,/");
|
||||||
|
// SESSIONS (e.g. 7200)
|
||||||
|
$cookie_lifetime = "0";
|
||||||
|
// TIMEZONE
|
||||||
|
date_default_timezone_set(getenv('TZ','UTC'));
|
||||||
|
// Allows to overwrite the default language
|
||||||
|
//define("LANGUAGE", "en");
|
||||||
|
// External Authentification
|
||||||
|
//define("AUTH_PATH", "/path/to/customauth.php");
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// ** DO NOT EDIT CONFIG BELOW **
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// PATHS
|
||||||
|
define("COMPONENTS", BASE_PATH . "/components");
|
||||||
|
define("PLUGINS", BASE_PATH . "/plugins");
|
||||||
|
define("THEMES", BASE_PATH . "/themes");
|
||||||
|
define("DATA", BASE_PATH . "/data");
|
||||||
|
define("WORKSPACE", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
|
||||||
|
// URLS
|
||||||
|
define("WSURL", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
|
||||||
|
// Marketplace
|
||||||
|
define("MARKETURL", "http://market.codiad.com/json");
|
||||||
|
// Update Check
|
||||||
|
//define("UPDATEURL", "http://update.codiad.com/?v={VER}&o={OS}&p={PHP}&w={WEB}&a={ACT}");
|
||||||
|
define("ARCHIVEURL", "https://github.com/Codiad/Codiad/archive/master.zip");
|
||||||
|
define("COMMITURL", "https://api.github.com/repos/Codiad/Codiad/commits");
|
||||||
|
?>
|
21
ide-icecoder/Dockerfile
Normal file
21
ide-icecoder/Dockerfile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
FROM php:alpine
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
ARG PUID=1000
|
||||||
|
ENV PUID ${PUID}
|
||||||
|
ARG PGID=1000
|
||||||
|
ENV PGID ${PGID}
|
||||||
|
|
||||||
|
RUN apk add --no-cache git
|
||||||
|
|
||||||
|
RUN addgroup -g $PGID -S laradock && \
|
||||||
|
adduser -u $PUID -S laradock -G laradock
|
||||||
|
|
||||||
|
USER laradock
|
||||||
|
|
||||||
|
RUN cd /home/laradock && git clone https://github.com/mattpass/ICEcoder.git
|
||||||
|
|
||||||
|
WORKDIR /home/laradock/ICEcoder
|
||||||
|
|
||||||
|
CMD ["php","-S","0.0.0.0:8080"]
|
9
ide-theia/Dockerfile
Normal file
9
ide-theia/Dockerfile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM theiaide/theia
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf
|
||||||
|
|
||||||
|
USER theia
|
3
ide-webide/Dockerfile
Normal file
3
ide-webide/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM webide/webide
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
17
ipython/Dockerfile.controller
Normal file
17
ipython/Dockerfile.controller
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM python:3.5-alpine
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN apk add --no-cache build-base zeromq-dev
|
||||||
|
|
||||||
|
RUN python -m pip --quiet --no-cache-dir install \
|
||||||
|
ipyparallel
|
||||||
|
|
||||||
|
RUN ipython profile create --parallel --profile=default
|
||||||
|
|
||||||
|
COPY ipcontroller-client.json /root/.ipython/profile_default/security/ipcontroller-client.json
|
||||||
|
COPY ipcontroller-engine.json /root/.ipython/profile_default/security/ipcontroller-engine.json
|
||||||
|
|
||||||
|
CMD ["sh","-c","ipcontroller --ip=* --reuse"]
|
23
ipython/Dockerfile.engine
Normal file
23
ipython/Dockerfile.engine
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
FROM python:3.5-alpine
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN apk add --no-cache build-base zeromq-dev
|
||||||
|
|
||||||
|
RUN python -m pip --quiet --no-cache-dir install \
|
||||||
|
ipyparallel \
|
||||||
|
numpy \
|
||||||
|
pandas \
|
||||||
|
pymongo \
|
||||||
|
redis \
|
||||||
|
requests \
|
||||||
|
bs4
|
||||||
|
|
||||||
|
RUN ipython profile create --parallel --profile=default
|
||||||
|
|
||||||
|
COPY ipcontroller-client.json /root/.ipython/profile_default/security/ipcontroller-client.json
|
||||||
|
COPY ipcontroller-engine.json /root/.ipython/profile_default/security/ipcontroller-engine.json
|
||||||
|
|
||||||
|
CMD ["sh","-c","ipcluster engines"]
|
16
ipython/ipcontroller-client.json
Normal file
16
ipython/ipcontroller-client.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"key": "868074dd-060311910ab3d6991611bccf",
|
||||||
|
"signature_scheme": "hmac-sha256",
|
||||||
|
"unpack": "json",
|
||||||
|
"pack": "json",
|
||||||
|
"ssh": "",
|
||||||
|
"task_scheme": "leastload",
|
||||||
|
"interface": "tcp://*",
|
||||||
|
"location": "laradock-ipython",
|
||||||
|
"notification": 33338,
|
||||||
|
"iopub": 33337,
|
||||||
|
"control": 33336,
|
||||||
|
"mux": 33335,
|
||||||
|
"task": 33334,
|
||||||
|
"registration": 33333
|
||||||
|
}
|
16
ipython/ipcontroller-engine.json
Normal file
16
ipython/ipcontroller-engine.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"key": "868074dd-060311910ab3d6991611bccf",
|
||||||
|
"signature_scheme": "hmac-sha256",
|
||||||
|
"unpack": "json",
|
||||||
|
"pack": "json",
|
||||||
|
"ssh": "",
|
||||||
|
"interface": "tcp://*",
|
||||||
|
"location": "laradock-ipython",
|
||||||
|
"iopub": 33327,
|
||||||
|
"hb_ping": 33328,
|
||||||
|
"hb_pong": 33329,
|
||||||
|
"control": 33330,
|
||||||
|
"mux": 33331,
|
||||||
|
"task": 33332,
|
||||||
|
"registration": 33333
|
||||||
|
}
|
@ -25,8 +25,8 @@ VOLUME /var/jenkins_home
|
|||||||
# or config file with your custom jenkins Docker image.
|
# or config file with your custom jenkins Docker image.
|
||||||
RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d
|
RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d
|
||||||
|
|
||||||
ENV TINI_VERSION 0.13.2
|
ENV TINI_VERSION 0.16.1
|
||||||
ENV TINI_SHA afbf8de8a63ce8e4f18cb3f34dfdbbd354af68a1
|
ENV TINI_SHA d1cb5d71adc01d47e302ea439d70c79bd0864288
|
||||||
|
|
||||||
# Use tini as subreaper in Docker container to adopt zombie processes
|
# Use tini as subreaper in Docker container to adopt zombie processes
|
||||||
RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini && chmod +x /bin/tini \
|
RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini && chmod +x /bin/tini \
|
||||||
@ -36,10 +36,12 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
|
|||||||
|
|
||||||
# jenkins version being bundled in this docker image
|
# jenkins version being bundled in this docker image
|
||||||
ARG JENKINS_VERSION
|
ARG JENKINS_VERSION
|
||||||
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.32.3}
|
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.89.2}
|
||||||
|
|
||||||
# jenkins.war checksum, download will be validated using it
|
# jenkins.war checksum, download will be validated using it
|
||||||
ARG JENKINS_SHA=a25b9a314ca9e76f9673da7309e1882e32674223
|
# 2.89.2
|
||||||
|
ARG JENKINS_SHA=014f669f32bc6e925e926e260503670b32662f006799b133a031a70a794c8a14
|
||||||
|
|
||||||
|
|
||||||
# Can be used to customize where jenkins.war get downloaded from
|
# Can be used to customize where jenkins.war get downloaded from
|
||||||
ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/${JENKINS_VERSION}/jenkins-war-${JENKINS_VERSION}.war
|
ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/${JENKINS_VERSION}/jenkins-war-${JENKINS_VERSION}.war
|
||||||
@ -47,7 +49,7 @@ ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-w
|
|||||||
# could use ADD but this one does not check Last-Modified header neither does it allow to control checksum
|
# could use ADD but this one does not check Last-Modified header neither does it allow to control checksum
|
||||||
# see https://github.com/docker/docker/issues/8331
|
# see https://github.com/docker/docker/issues/8331
|
||||||
RUN curl -fsSL ${JENKINS_URL} -o /usr/share/jenkins/jenkins.war \
|
RUN curl -fsSL ${JENKINS_URL} -o /usr/share/jenkins/jenkins.war \
|
||||||
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha1sum -c -
|
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha256sum -c -
|
||||||
|
|
||||||
ENV JENKINS_UC https://updates.jenkins.io
|
ENV JENKINS_UC https://updates.jenkins.io
|
||||||
RUN chown -R ${user} "$JENKINS_HOME" /usr/share/jenkins/ref
|
RUN chown -R ${user} "$JENKINS_HOME" /usr/share/jenkins/ref
|
||||||
@ -71,7 +73,7 @@ RUN apt-get install -y curl && curl -sSL https://get.docker.com/ | sh
|
|||||||
RUN usermod -aG docker jenkins
|
RUN usermod -aG docker jenkins
|
||||||
|
|
||||||
# Install Docker-Compose
|
# Install Docker-Compose
|
||||||
RUN curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
RUN curl -L "https://github.com/docker/compose/releases/download/1.16.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
RUN chmod +x /usr/local/bin/docker-compose
|
RUN chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
|
||||||
@ -106,3 +108,7 @@ COPY install-plugins.sh /usr/local/bin/install-plugins.sh
|
|||||||
#RUN chmod 644 /var/jenkins_home/.ssh/id_rsa.pub
|
#RUN chmod 644 /var/jenkins_home/.ssh/id_rsa.pub
|
||||||
## ssh-keyscan -H github.com >> ~/.ssh/known_hosts
|
## ssh-keyscan -H github.com >> ~/.ssh/known_hosts
|
||||||
## ssh-keyscan -H bitbucket.org >> ~/.ssh/known_hosts
|
## ssh-keyscan -H bitbucket.org >> ~/.ssh/known_hosts
|
||||||
|
|
||||||
|
# Fix docker permission denied error
|
||||||
|
USER root
|
||||||
|
RUN usermod -aG docker jenkins
|
||||||
|
@ -93,7 +93,7 @@ docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS="-Djava.
|
|||||||
```
|
```
|
||||||
|
|
||||||
# Configuring reverse proxy
|
# Configuring reverse proxy
|
||||||
If you want to install Jenkins behind a reverse proxy with prefix, example: mysite.com/jenkins, you need to add environnement variable `JENKINS_OPTS="--prefix=/jenkins"` and then follow the below procedures to configure your reverse proxy, which will depend if you have Apache ou Nginx:
|
If you want to install Jenkins behind a reverse proxy with prefix, example: mysite.com/jenkins, you need to add environment variable `JENKINS_OPTS="--prefix=/jenkins"` and then follow the below procedures to configure your reverse proxy, which will depend if you have Apache ou Nginx:
|
||||||
- [Apache](https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache)
|
- [Apache](https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache)
|
||||||
- [Nginx](https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+behind+an+NGinX+reverse+proxy)
|
- [Nginx](https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+behind+an+NGinX+reverse+proxy)
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ COPY custom.groovy /usr/share/jenkins/ref/init.groovy.d/custom.groovy
|
|||||||
## Preinstalling plugins
|
## Preinstalling plugins
|
||||||
|
|
||||||
You can rely on the `install-plugins.sh` script to pass a set of plugins to download with their dependencies.
|
You can rely on the `install-plugins.sh` script to pass a set of plugins to download with their dependencies.
|
||||||
Use plugin artifact ID, whithout `-plugin` extension, and append the version if needed separated by `:`.
|
Use plugin artifact ID, without `-plugin` extension, and append the version if needed separated by `:`.
|
||||||
Dependencies that are already included in the Jenkins war will only be downloaded if their required version is newer than the one included.
|
Dependencies that are already included in the Jenkins war will only be downloaded if their required version is newer than the one included.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
0
jenkins/install-plugins.sh
Normal file → Executable file
0
jenkins/install-plugins.sh
Normal file → Executable file
0
jenkins/jenkins-support
Normal file → Executable file
0
jenkins/jenkins-support
Normal file → Executable file
0
jenkins/jenkins.sh
Normal file → Executable file
0
jenkins/jenkins.sh
Normal file → Executable file
0
jenkins/plugins.sh
Normal file → Executable file
0
jenkins/plugins.sh
Normal file → Executable file
0
jenkins/publish.sh
Normal file → Executable file
0
jenkins/publish.sh
Normal file → Executable file
0
jenkins/update-official-library.sh
Normal file → Executable file
0
jenkins/update-official-library.sh
Normal file → Executable file
27
jupyterhub/Dockerfile
Normal file
27
jupyterhub/Dockerfile
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
FROM python
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||||
|
|
||||||
|
ENV JUPYTERHUB_USER_DATA ${JUPYTERHUB_USER_DATA}
|
||||||
|
ENV JUPYTERHUB_POSTGRES_DB ${JUPYTERHUB_POSTGRES_DB}
|
||||||
|
ENV JUPYTERHUB_POSTGRES_USER ${JUPYTERHUB_POSTGRES_USER}
|
||||||
|
ENV JUPYTERHUB_POSTGRES_HOST ${JUPYTERHUB_POSTGRES_HOST}
|
||||||
|
ENV JUPYTERHUB_POSTGRES_PASSWORD ${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||||
|
ENV JUPYTERHUB_OAUTH_CALLBACK_URL ${JUPYTERHUB_OAUTH_CALLBACK_URL}
|
||||||
|
ENV JUPYTERHUB_OAUTH_CLIENT_ID ${JUPYTERHUB_OAUTH_CLIENT_ID}
|
||||||
|
ENV JUPYTERHUB_OAUTH_CLIENT_SECRET ${JUPYTERHUB_OAUTH_CLIENT_SECRET}
|
||||||
|
ENV JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE ${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
|
||||||
|
ENV JUPYTERHUB_ENABLE_NVIDIA ${JUPYTERHUB_ENABLE_NVIDIA}
|
||||||
|
|
||||||
|
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
|
||||||
|
|
||||||
|
RUN apt update -yqq && \
|
||||||
|
apt-get install -y nodejs
|
||||||
|
|
||||||
|
RUN npm install -g configurable-http-proxy
|
||||||
|
|
||||||
|
RUN pip install jupyterhub
|
||||||
|
RUN pip install oauthenticator
|
||||||
|
RUN pip install dockerspawner
|
||||||
|
RUN pip install psycopg2 psycopg2-binary
|
||||||
|
|
||||||
|
CMD ["sh", "-c", "jupyterhub upgrade-db && jupyterhub -f /jupyterhub_config.py"]
|
72
jupyterhub/Dockerfile.user
Normal file
72
jupyterhub/Dockerfile.user
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
FROM tensorflow/tensorflow:latest-gpu
|
||||||
|
|
||||||
|
MAINTAINER ahkui <ahkui@outlook.com>
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
python \
|
||||||
|
python-dev \
|
||||||
|
&& \
|
||||||
|
apt-get autoremove -y && \
|
||||||
|
apt-get autoclean && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
wget \
|
||||||
|
git \
|
||||||
|
&& \
|
||||||
|
apt-get autoremove -y && \
|
||||||
|
apt-get autoclean && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
|
||||||
|
python3 get-pip.py && \
|
||||||
|
rm get-pip.py
|
||||||
|
|
||||||
|
RUN python3 -m pip --quiet --no-cache-dir install \
|
||||||
|
Pillow \
|
||||||
|
h5py \
|
||||||
|
ipykernel \
|
||||||
|
jupyter \
|
||||||
|
notebook \
|
||||||
|
jupyterhub \
|
||||||
|
matplotlib \
|
||||||
|
numpy \
|
||||||
|
pandas \
|
||||||
|
scipy \
|
||||||
|
sklearn \
|
||||||
|
Flask \
|
||||||
|
gunicorn \
|
||||||
|
pymongo \
|
||||||
|
redis \
|
||||||
|
requests \
|
||||||
|
ipyparallel \
|
||||||
|
bs4 \
|
||||||
|
&& \
|
||||||
|
python3 -m ipykernel.kernelspec
|
||||||
|
|
||||||
|
RUN pip --no-cache-dir install \
|
||||||
|
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl
|
||||||
|
|
||||||
|
RUN ln -s -f /usr/bin/python3 /usr/bin/python
|
||||||
|
|
||||||
|
COPY start.sh /usr/local/bin/
|
||||||
|
COPY start-notebook.sh /usr/local/bin/
|
||||||
|
COPY start-singleuser.sh /usr/local/bin/
|
||||||
|
RUN chmod +x /usr/local/bin/start.sh
|
||||||
|
RUN chmod +x /usr/local/bin/start-notebook.sh
|
||||||
|
RUN chmod +x /usr/local/bin/start-singleuser.sh
|
||||||
|
|
||||||
|
RUN wget --quiet https://github.com/krallin/tini/releases/download/v0.10.0/tini && \
|
||||||
|
mv tini /usr/local/bin/tini && \
|
||||||
|
chmod +x /usr/local/bin/tini
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
ENTRYPOINT ["tini", "--"]
|
||||||
|
|
||||||
|
CMD ["start-notebook.sh"]
|
||||||
|
|
||||||
|
|
128
jupyterhub/jupyterhub_config.py
Normal file
128
jupyterhub/jupyterhub_config.py
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
# Copyright (c) Jupyter Development Team.
|
||||||
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
|
# Configuration file for JupyterHub
|
||||||
|
import os
|
||||||
|
|
||||||
|
c = get_config()
|
||||||
|
|
||||||
|
# create system users that don't exist yet
|
||||||
|
c.LocalAuthenticator.create_system_users = True
|
||||||
|
|
||||||
|
def create_dir_hook(spawner):
|
||||||
|
username = spawner.user.name # get the username
|
||||||
|
volume_path = os.path.join('/user-data', username)
|
||||||
|
if not os.path.exists(volume_path):
|
||||||
|
# create a directory with umask 0755
|
||||||
|
# hub and container user must have the same UID to be writeable
|
||||||
|
# still readable by other users on the system
|
||||||
|
os.mkdir(volume_path, 0o755)
|
||||||
|
os.chown(volume_path, 1000,100)
|
||||||
|
# now do whatever you think your user needs
|
||||||
|
# ...
|
||||||
|
pass
|
||||||
|
|
||||||
|
# attach the hook function to the spawner
|
||||||
|
c.Spawner.pre_spawn_hook = create_dir_hook
|
||||||
|
|
||||||
|
# We rely on environment variables to configure JupyterHub so that we
|
||||||
|
# avoid having to rebuild the JupyterHub container every time we change a
|
||||||
|
# configuration parameter.
|
||||||
|
|
||||||
|
# Spawn single-user servers as Docker containers
|
||||||
|
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
|
||||||
|
|
||||||
|
# Spawn containers from this image
|
||||||
|
c.DockerSpawner.image = os.environ['JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE']
|
||||||
|
|
||||||
|
# JupyterHub requires a single-user instance of the Notebook server, so we
|
||||||
|
# default to using the `start-singleuser.sh` script included in the
|
||||||
|
# jupyter/docker-stacks *-notebook images as the Docker run command when
|
||||||
|
# spawning containers. Optionally, you can override the Docker run command
|
||||||
|
# using the DOCKER_SPAWN_CMD environment variable.
|
||||||
|
spawn_cmd = os.environ.get('JUPYTERHUB_DOCKER_SPAWN_CMD', "start-singleuser.sh")
|
||||||
|
c.DockerSpawner.extra_create_kwargs.update({ 'command': spawn_cmd })
|
||||||
|
|
||||||
|
# Connect containers to this Docker network
|
||||||
|
network_name = os.environ.get('JUPYTERHUB_NETWORK_NAME','laradock_backend')
|
||||||
|
c.DockerSpawner.use_internal_ip = True
|
||||||
|
c.DockerSpawner.network_name = network_name
|
||||||
|
|
||||||
|
enable_nvidia = os.environ.get('JUPYTERHUB_ENABLE_NVIDIA','false')
|
||||||
|
# Pass the network name as argument to spawned containers
|
||||||
|
c.DockerSpawner.extra_host_config = { 'network_mode': network_name }
|
||||||
|
if 'true' == enable_nvidia:
|
||||||
|
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
|
||||||
|
pass
|
||||||
|
# c.DockerSpawner.extra_host_config = { 'network_mode': network_name, "devices":["/dev/nvidiactl","/dev/nvidia-uvm","/dev/nvidia0"] }
|
||||||
|
# Explicitly set notebook directory because we'll be mounting a host volume to
|
||||||
|
# it. Most jupyter/docker-stacks *-notebook images run the Notebook server as
|
||||||
|
# user `jovyan`, and set the notebook directory to `/home/jovyan/work`.
|
||||||
|
# We follow the same convention.
|
||||||
|
# notebook_dir = os.environ.get('JUPYTERHUB_DOCKER_NOTEBOOK_DIR') or '/home/jovyan/work'
|
||||||
|
notebook_dir = '/notebooks'
|
||||||
|
c.DockerSpawner.notebook_dir = notebook_dir
|
||||||
|
|
||||||
|
# Mount the real user's Docker volume on the host to the notebook user's
|
||||||
|
# notebook directory in the container
|
||||||
|
user_data = os.environ.get('JUPYTERHUB_USER_DATA','/jupyterhub')
|
||||||
|
c.DockerSpawner.volumes = {
|
||||||
|
user_data+'/{username}': notebook_dir
|
||||||
|
}
|
||||||
|
|
||||||
|
c.DockerSpawner.extra_create_kwargs.update({ 'user': 'root'})
|
||||||
|
|
||||||
|
# volume_driver is no longer a keyword argument to create_container()
|
||||||
|
# c.DockerSpawner.extra_create_kwargs.update({ 'volume_driver': 'local' })
|
||||||
|
# Remove containers once they are stopped
|
||||||
|
c.DockerSpawner.remove_containers = True
|
||||||
|
|
||||||
|
# For debugging arguments passed to spawned containers
|
||||||
|
c.DockerSpawner.debug = True
|
||||||
|
|
||||||
|
# User containers will access hub by container name on the Docker network
|
||||||
|
c.JupyterHub.hub_ip = 'jupyterhub'
|
||||||
|
c.JupyterHub.hub_port = 8000
|
||||||
|
|
||||||
|
# TLS config
|
||||||
|
c.JupyterHub.port = 80
|
||||||
|
# c.JupyterHub.ssl_key = os.environ['SSL_KEY']
|
||||||
|
# c.JupyterHub.ssl_cert = os.environ['SSL_CERT']
|
||||||
|
|
||||||
|
# Authenticate users with GitHub OAuth
|
||||||
|
c.JupyterHub.authenticator_class = 'oauthenticator.GitHubOAuthenticator'
|
||||||
|
c.GitHubOAuthenticator.oauth_callback_url = os.environ['JUPYTERHUB_OAUTH_CALLBACK_URL']
|
||||||
|
c.GitHubOAuthenticator.client_id = os.environ['JUPYTERHUB_OAUTH_CLIENT_ID']
|
||||||
|
c.GitHubOAuthenticator.client_secret = os.environ['JUPYTERHUB_OAUTH_CLIENT_SECRET']
|
||||||
|
|
||||||
|
# Persist hub data on volume mounted inside container
|
||||||
|
data_dir = '/data'
|
||||||
|
|
||||||
|
c.JupyterHub.cookie_secret_file = os.path.join(data_dir,
|
||||||
|
'jupyterhub_cookie_secret')
|
||||||
|
|
||||||
|
print(os.environ)
|
||||||
|
|
||||||
|
c.JupyterHub.db_url = 'postgresql://{user}:{password}@{host}/{db}'.format(
|
||||||
|
user=os.environ['JUPYTERHUB_POSTGRES_USER'],
|
||||||
|
host=os.environ['JUPYTERHUB_POSTGRES_HOST'],
|
||||||
|
password=os.environ['JUPYTERHUB_POSTGRES_PASSWORD'],
|
||||||
|
db=os.environ['JUPYTERHUB_POSTGRES_DB'],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Whitlelist users and admins
|
||||||
|
c.Authenticator.whitelist = whitelist = set()
|
||||||
|
c.Authenticator.admin_users = admin = set()
|
||||||
|
c.JupyterHub.admin_access = True
|
||||||
|
pwd = os.path.dirname(__file__)
|
||||||
|
with open(os.path.join(pwd, 'userlist')) as f:
|
||||||
|
for line in f:
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
parts = line.split()
|
||||||
|
name = parts[0]
|
||||||
|
print(name)
|
||||||
|
whitelist.add(name)
|
||||||
|
if len(parts) > 1 and parts[1] == 'admin':
|
||||||
|
admin.add(name)
|
||||||
|
admin.add('laradock')
|
12
jupyterhub/start-notebook.sh
Normal file
12
jupyterhub/start-notebook.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) Jupyter Development Team.
|
||||||
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ ! -z "${JUPYTERHUB_API_TOKEN}" ]]; then
|
||||||
|
# launched by JupyterHub, use single-user entrypoint
|
||||||
|
exec /usr/local/bin/start-singleuser.sh $*
|
||||||
|
else
|
||||||
|
. /usr/local/bin/start.sh jupyter notebook $*
|
||||||
|
fi
|
40
jupyterhub/start-singleuser.sh
Normal file
40
jupyterhub/start-singleuser.sh
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) Jupyter Development Team.
|
||||||
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# set default ip to 0.0.0.0
|
||||||
|
if [[ "$NOTEBOOK_ARGS $@" != *"--ip="* ]]; then
|
||||||
|
NOTEBOOK_ARGS="--ip=0.0.0.0 $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# handle some deprecated environment variables
|
||||||
|
# from DockerSpawner < 0.8.
|
||||||
|
# These won't be passed from DockerSpawner 0.9,
|
||||||
|
# so avoid specifying --arg=empty-string
|
||||||
|
# if [ ! -z "$NOTEBOOK_DIR" ]; then
|
||||||
|
# NOTEBOOK_ARGS="--notebook-dir='$NOTEBOOK_DIR' $NOTEBOOK_ARGS"
|
||||||
|
# fi
|
||||||
|
if [ ! -z "$JPY_PORT" ]; then
|
||||||
|
NOTEBOOK_ARGS="--port=$JPY_PORT $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
if [ ! -z "$JPY_USER" ]; then
|
||||||
|
NOTEBOOK_ARGS="--user=$JPY_USER $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
if [ ! -z "$JPY_COOKIE_NAME" ]; then
|
||||||
|
NOTEBOOK_ARGS="--cookie-name=$JPY_COOKIE_NAME $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
if [ ! -z "$JPY_BASE_URL" ]; then
|
||||||
|
NOTEBOOK_ARGS="--base-url=$JPY_BASE_URL $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
if [ ! -z "$JPY_HUB_PREFIX" ]; then
|
||||||
|
NOTEBOOK_ARGS="--hub-prefix=$JPY_HUB_PREFIX $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
if [ ! -z "$JPY_HUB_API_URL" ]; then
|
||||||
|
NOTEBOOK_ARGS="--hub-api-url=$JPY_HUB_API_URL $NOTEBOOK_ARGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
NOTEBOOK_ARGS=" --allow-root --notebook-dir='/notebooks' $NOTEBOOK_ARGS"
|
||||||
|
|
||||||
|
. /usr/local/bin/start.sh jupyterhub-singleuser $NOTEBOOK_ARGS $@
|
7
jupyterhub/start.sh
Normal file
7
jupyterhub/start.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) Jupyter Development Team.
|
||||||
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
exec sh -c "env PATH=$PATH $*"
|
1
jupyterhub/userlist
Normal file
1
jupyterhub/userlist
Normal file
@ -0,0 +1 @@
|
|||||||
|
laradock
|
3
kibana/Dockerfile
Normal file
3
kibana/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.elastic.co/kibana/kibana:6.6.0
|
||||||
|
|
||||||
|
EXPOSE 5601
|
22
laravel-echo-server/Dockerfile
Normal file
22
laravel-echo-server/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM node:alpine
|
||||||
|
|
||||||
|
# Create app directory
|
||||||
|
RUN mkdir -p /usr/src/app
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Install app dependencies
|
||||||
|
COPY package.json /usr/src/app/
|
||||||
|
|
||||||
|
RUN apk add --update \
|
||||||
|
python \
|
||||||
|
python-dev \
|
||||||
|
py-pip \
|
||||||
|
build-base
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
# Bundle app source
|
||||||
|
COPY laravel-echo-server.json /usr/src/app/laravel-echo-server.json
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
CMD [ "npm", "start", "--force" ]
|
19
laravel-echo-server/laravel-echo-server.json
Normal file
19
laravel-echo-server/laravel-echo-server.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"authHost": "localhost",
|
||||||
|
"authEndpoint": "/broadcasting/auth",
|
||||||
|
"clients": [],
|
||||||
|
"database": "redis",
|
||||||
|
"databaseConfig": {
|
||||||
|
"redis": {
|
||||||
|
"port": "6379",
|
||||||
|
"host": "redis"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"devMode": true,
|
||||||
|
"host": null,
|
||||||
|
"port": "6001",
|
||||||
|
"protocol": "http",
|
||||||
|
"socketio": {},
|
||||||
|
"sslCertPath": "",
|
||||||
|
"sslKeyPath": ""
|
||||||
|
}
|
12
laravel-echo-server/package.json
Normal file
12
laravel-echo-server/package.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "laravel-echo-server-docker",
|
||||||
|
"description": "Docker container for running laravel-echo-server",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"laravel-echo-server": "^1.5.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"start": "laravel-echo-server start"
|
||||||
|
}
|
||||||
|
}
|
108
laravel-horizon/Dockerfile
Normal file
108
laravel-horizon/Dockerfile
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
#
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
# Image Setup
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
ARG PHP_VERSION=${PHP_VERSION}
|
||||||
|
FROM php:${PHP_VERSION}-alpine
|
||||||
|
|
||||||
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
|
RUN apk --update add wget \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
build-base \
|
||||||
|
libmemcached-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
zlib-dev \
|
||||||
|
autoconf \
|
||||||
|
cyrus-sasl-dev \
|
||||||
|
libgsasl-dev \
|
||||||
|
supervisor \
|
||||||
|
procps
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
|
||||||
|
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
|
||||||
|
|
||||||
|
#Install BCMath package:
|
||||||
|
ARG INSTALL_BCMATH=false
|
||||||
|
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||||
|
docker-php-ext-install bcmath \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
# Install PostgreSQL drivers:
|
||||||
|
ARG INSTALL_PGSQL=false
|
||||||
|
RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||||
|
apk --update add postgresql-dev \
|
||||||
|
&& docker-php-ext-install pdo_pgsql \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# PHP Memcached:
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
ARG INSTALL_MEMCACHED=false
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||||
|
# Install the php memcached extension
|
||||||
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||||
|
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
|
||||||
|
else \
|
||||||
|
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \
|
||||||
|
fi \
|
||||||
|
&& mkdir -p memcached \
|
||||||
|
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
|
||||||
|
&& ( \
|
||||||
|
cd memcached \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure \
|
||||||
|
&& make -j$(nproc) \
|
||||||
|
&& make install \
|
||||||
|
) \
|
||||||
|
&& rm -r memcached \
|
||||||
|
&& rm /tmp/memcached.tar.gz \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
RUN rm /var/cache/apk/* \
|
||||||
|
&& mkdir -p /var/www
|
||||||
|
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
# Optional Supervisord Configuration
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Modify the ./supervisor.conf file to match your App's requirements.
|
||||||
|
# Make sure you rebuild your container with every change.
|
||||||
|
#
|
||||||
|
|
||||||
|
COPY supervisord.conf /etc/supervisord.conf
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
|
||||||
|
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
# Optional Software's Installation
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# If you need to modify this image, feel free to do it right here.
|
||||||
|
#
|
||||||
|
# -- Your awesome modifications go here -- #
|
||||||
|
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
# Check PHP version
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
|
||||||
|
|
||||||
|
#
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
# Final Touch
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
WORKDIR /etc/supervisor/conf.d/
|
10
laravel-horizon/supervisord.conf
Normal file
10
laravel-horizon/supervisord.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[supervisord]
|
||||||
|
nodaemon=true
|
||||||
|
[supervisorctl]
|
||||||
|
[inet_http_server]
|
||||||
|
port = 127.0.0.1:9001
|
||||||
|
[rpcinterface:supervisor]
|
||||||
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||||
|
|
||||||
|
[include]
|
||||||
|
files = supervisord.d/*.conf
|
1
laravel-horizon/supervisord.d/.gitignore
vendored
Normal file
1
laravel-horizon/supervisord.d/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.conf
|
@ -0,0 +1,6 @@
|
|||||||
|
[program:laravel-horizon]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /var/www/artisan horizon
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
redirect_stderr=true
|
10
logstash/Dockerfile
Normal file
10
logstash/Dockerfile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM docker.elastic.co/logstash/logstash:6.4.2
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
|
||||||
|
RUN curl -L -o /usr/share/logstash/lib/mysql-connector-java-5.1.47.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
|
||||||
|
ADD ./pipeline/ /usr/share/logstash/pipeline/
|
||||||
|
ADD ./config/ /usr/share/logstash/config/
|
||||||
|
|
||||||
|
RUN logstash-plugin install logstash-input-jdbc
|
||||||
|
|
5
logstash/config/logstash.yml
Normal file
5
logstash/config/logstash.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
http.host: "0.0.0.0"
|
||||||
|
|
||||||
|
xpack.monitoring.enabled: false
|
||||||
|
config.reload.automatic: true
|
||||||
|
path.config: "/usr/share/logstash/pipeline"
|
0
logstash/pipeline/.gitkeep
Normal file
0
logstash/pipeline/.gitkeep
Normal file
5
maildev/Dockerfile
Normal file
5
maildev/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM djfarrelly/maildev
|
||||||
|
|
||||||
|
LABEL maintainer="Maxime Hélias <maximehelias16@gmail.com>"
|
||||||
|
|
||||||
|
EXPOSE 80 25
|
@ -1,6 +1,6 @@
|
|||||||
FROM mailhog/mailhog
|
FROM mailhog/mailhog
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
CMD ["Mailhog"]
|
CMD ["Mailhog"]
|
||||||
|
|
||||||
|
5
manticore/Dockerfile
Normal file
5
manticore/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM manticoresearch/manticore
|
||||||
|
|
||||||
|
EXPOSE 9306
|
||||||
|
EXPOSE 9308
|
||||||
|
EXPOSE 9312
|
25
manticore/config/sphinx.conf
Normal file
25
manticore/config/sphinx.conf
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
index testrt {
|
||||||
|
type = rt
|
||||||
|
rt_mem_limit = 128M
|
||||||
|
path = /var/lib/manticore/data/testrt
|
||||||
|
rt_field = title
|
||||||
|
rt_field = content
|
||||||
|
rt_attr_uint = gid
|
||||||
|
}
|
||||||
|
|
||||||
|
searchd {
|
||||||
|
listen = 9312
|
||||||
|
listen = 9308:http
|
||||||
|
listen = 9306:mysql41
|
||||||
|
log = /var/lib/manticore/log/searchd.log
|
||||||
|
# you can also send query_log to /dev/stdout to be shown in docker logs
|
||||||
|
query_log = /var/lib/manticore/log/query.log
|
||||||
|
read_timeout = 5
|
||||||
|
max_children = 30
|
||||||
|
pid_file = /var/run/searchd.pid
|
||||||
|
seamless_rotate = 1
|
||||||
|
preopen_indexes = 1
|
||||||
|
unlink_old = 1
|
||||||
|
binlog_path = /var/lib/manticore/data
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
FROM mariadb:latest
|
FROM mariadb:latest
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
ADD my.cnf /etc/mysql/conf.d/my.cnf
|
COPY my.cnf /etc/mysql/conf.d/my.cnf
|
||||||
|
|
||||||
CMD ["mysqld"]
|
CMD ["mysqld"]
|
||||||
|
|
||||||
|
1
mariadb/docker-entrypoint-initdb.d/.gitignore
vendored
Normal file
1
mariadb/docker-entrypoint-initdb.d/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.sql
|
28
mariadb/docker-entrypoint-initdb.d/createdb.sql.example
Normal file
28
mariadb/docker-entrypoint-initdb.d/createdb.sql.example
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
###
|
||||||
|
### Copy createdb.sql.example to createdb.sql
|
||||||
|
### then uncomment then set database name and username to create you need databases
|
||||||
|
#
|
||||||
|
# example: .env MYSQL_USER=appuser and need db name is myshop_db
|
||||||
|
#
|
||||||
|
# CREATE DATABASE IF NOT EXISTS `myshop_db` ;
|
||||||
|
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
|
||||||
|
#
|
||||||
|
###
|
||||||
|
### this sql script is auto run when mariadb container start and $DATA_PATH_HOST/mariadb not exists.
|
||||||
|
###
|
||||||
|
### if your $DATA_PATH_HOST/mariadb is exists and you do not want to delete it, you can run by manual execution:
|
||||||
|
###
|
||||||
|
### docker-compose exec mariadb bash
|
||||||
|
### mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql
|
||||||
|
###
|
||||||
|
|
||||||
|
#CREATE DATABASE IF NOT EXISTS `dev_db_1` COLLATE 'utf8_general_ci' ;
|
||||||
|
#GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ;
|
||||||
|
|
||||||
|
#CREATE DATABASE IF NOT EXISTS `dev_db_2` COLLATE 'utf8_general_ci' ;
|
||||||
|
#GRANT ALL ON `dev_db_2`.* TO 'default'@'%' ;
|
||||||
|
|
||||||
|
#CREATE DATABASE IF NOT EXISTS `dev_db_3` COLLATE 'utf8_general_ci' ;
|
||||||
|
#GRANT ALL ON `dev_db_3`.* TO 'default'@'%' ;
|
||||||
|
|
||||||
|
FLUSH PRIVILEGES ;
|
@ -1,6 +1,6 @@
|
|||||||
FROM memcached:latest
|
FROM memcached:latest
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
CMD ["memcached"]
|
CMD ["memcached"]
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
FROM minio/minio
|
FROM minio/minio
|
||||||
|
|
||||||
MAINTAINER Thor Erik Lie <thor@thorerik.com>
|
LABEL maintainer="Thor Erik Lie <thor@thorerik.com>"
|
||||||
|
|
||||||
ENTRYPOINT ["minio", "server", "/export"]
|
ENTRYPOINT ["minio", "server", "/export"]
|
||||||
|
3
mongo-webui/Dockerfile
Normal file
3
mongo-webui/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM mongoclient/mongoclient
|
||||||
|
|
||||||
|
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
@ -1,6 +1,6 @@
|
|||||||
FROM mongo:latest
|
FROM mongo:latest
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||||
|
|
||||||
#COPY mongo.conf /usr/local/etc/mongo/mongo.conf
|
#COPY mongo.conf /usr/local/etc/mongo/mongo.conf
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user