Compare commits
1079
Commits
files
..
cloudflare
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
219ee9772f | ||
|
|
45d183ccdd | ||
|
|
c96a6c235a | ||
|
|
5f8aa0c835 | ||
|
|
1634c58e72 | ||
|
|
9ac26c1afc | ||
|
|
72227426d2 | ||
|
|
b5a0859c64 | ||
|
|
d767decdff | ||
|
|
2dc450ddc5 | ||
|
|
7dcf35740e | ||
|
|
4ce107ed05 | ||
|
|
2d37c956fa | ||
|
|
77658d4f2d | ||
|
|
d7678623db | ||
|
|
cf8d2fabba | ||
|
|
65de266b3a | ||
|
|
44d2b83e54 | ||
|
|
2cd6c8190d | ||
|
|
9598355869 | ||
|
|
c1e044c58e | ||
|
|
4cb132adc8 | ||
|
|
29d872dcb4 | ||
|
|
9532330db5 | ||
|
|
2e9f3cfa2d | ||
|
|
f6015ced77 | ||
|
|
1fd59cb419 | ||
|
|
914358ceaf | ||
|
|
55196b55a1 | ||
|
|
f6a2199479 | ||
|
|
a513c6aecd | ||
|
|
7457727edf | ||
|
|
3aef931508 | ||
|
|
daf6d51d94 | ||
|
|
deba72a3a0 | ||
|
|
570d7d89e0 | ||
|
|
1ec080a8b0 | ||
|
|
6874357bb1 | ||
|
|
44164b95ba | ||
|
|
6b5040a9f4 | ||
|
|
1430ab42ec | ||
|
|
999b97e67c | ||
|
|
144797f9fa | ||
|
|
ad96d70d5d | ||
|
|
7135a682de | ||
|
|
7354eb918a | ||
|
|
dc26623946 | ||
|
|
e983315b33 | ||
|
|
e6ebf87171 | ||
|
|
8e5d7c690e | ||
|
|
95e2ee7744 | ||
|
|
374b3d5b1e | ||
|
|
154e91935e | ||
|
|
0ab286d6ab | ||
|
|
5c19b72064 | ||
|
|
ba7bf8c2fc | ||
|
|
5584a2e681 | ||
|
|
92da7473ec | ||
|
|
59ff44469d | ||
|
|
405f7449ad | ||
|
|
90abcd60a5 | ||
|
|
16eb61c8f1 | ||
|
|
5adddba9c4 | ||
|
|
1c92500e44 | ||
|
|
df8b933312 | ||
|
|
408e1d9cdd | ||
|
|
7accb7d352 | ||
|
|
2443adfe25 | ||
|
|
7bfdf43541 | ||
|
|
d9606f0bbc | ||
|
|
4ed87e2177 | ||
|
|
b76c35e418 | ||
|
|
e46da67025 | ||
|
|
3906696172 | ||
|
|
b26ae3a8d9 | ||
|
|
852af01020 | ||
|
|
d9e22b991f | ||
|
|
aca84febb2 | ||
|
|
d5b826666c | ||
|
|
960b78874a | ||
|
|
b13a2feec6 | ||
|
|
dfb040ad3f | ||
|
|
04ecd8c1f7 | ||
|
|
6d955cd770 | ||
|
|
ced0cb6c32 | ||
|
|
53bd89e000 | ||
|
|
9937b3a745 | ||
|
|
98bc5f73d5 | ||
|
|
7cf85dacaf | ||
|
|
5fae8ab13a | ||
|
|
f588700899 | ||
|
|
692fc910e9 | ||
|
|
6251a6bbb6 | ||
|
|
5494d77c75 | ||
|
|
634bc8a1c8 | ||
|
|
3966278ac6 | ||
|
|
171c052646 | ||
|
|
f6d6cf9cd7 | ||
|
|
9d91df8865 | ||
|
|
2cb905ea59 | ||
|
|
2a9498d3ab | ||
|
|
516e0fa113 | ||
|
|
d42fc69330 | ||
|
|
c170b14747 | ||
|
|
407d0bcf20 | ||
|
|
b2516c2b5a | ||
|
|
4143e13b12 | ||
|
|
ce661e8c0c | ||
|
|
fc4c480801 | ||
|
|
ae4f35201f | ||
|
|
547509cf37 | ||
|
|
b3b4f3b2ad | ||
|
|
6f82cb2e87 | ||
|
|
97743dd949 | ||
|
|
e1858a302c | ||
|
|
5ffc6c1671 | ||
|
|
f456433eea | ||
|
|
47d0024191 | ||
|
|
a01f430d2e | ||
|
|
621619a16b | ||
|
|
004d89c039 | ||
|
|
39883c25a4 | ||
|
|
9dfeca0e34 | ||
|
|
fe6f7df8ab | ||
|
|
1ca1f40c3d | ||
|
|
603b6c010f | ||
|
|
3f27d9f701 | ||
|
|
c0789e7a38 | ||
|
|
ef85181077 | ||
|
|
f823d4f996 | ||
|
|
e8f930f579 | ||
|
|
d1d942cd08 | ||
|
|
be68fad7c8 | ||
|
|
59467b852d | ||
|
|
cdeb2b60ad | ||
|
|
3d1541683e | ||
|
|
86f095d728 | ||
|
|
d0bc34f1e8 | ||
|
|
ce97a20f6a | ||
|
|
a6207eff66 | ||
|
|
47eaea6048 | ||
|
|
465f4dc20c | ||
|
|
2b4a5eb039 | ||
|
|
7face30f0b | ||
|
|
d72912481e | ||
|
|
0d42eb1e33 | ||
|
|
cf2fc1156c | ||
|
|
3709c4b8de | ||
|
|
2e34a68d89 | ||
|
|
31d60f6f3b | ||
|
|
8eead75ef9 | ||
|
|
9b2dbfa6e0 | ||
|
|
b10768fcb5 | ||
|
|
b53a6a9a4d | ||
|
|
15c2e6c62b | ||
|
|
768bced602 | ||
|
|
4394df2555 | ||
|
|
03089ea092 | ||
|
|
88852be213 | ||
|
|
1013c6a62b | ||
|
|
10f8b4bbd7 | ||
|
|
bbe8e2fd3d | ||
|
|
c692f9b548 | ||
|
|
96e3683cda | ||
|
|
018377f66f | ||
|
|
d70e0a93bf | ||
|
|
cc21806b3c | ||
|
|
f60f92ae9b | ||
|
|
140c355e9d | ||
|
|
607abc3f41 | ||
|
|
7a25b78fd9 | ||
|
|
8fdf857e6b | ||
|
|
48e0230263 | ||
|
|
6c987f0c29 | ||
|
|
5b6a4ec2a3 | ||
|
|
535391775b | ||
|
|
3a50c0002d | ||
|
|
80f6c66dc0 | ||
|
|
6c8e984dcf | ||
|
|
36cca0973e | ||
|
|
9d674da903 | ||
|
|
8734f5a299 | ||
|
|
818d78e1c6 | ||
|
|
ea1ab77107 | ||
|
|
f21e08684c | ||
|
|
2a2b778984 | ||
|
|
f555fbc60e | ||
|
|
56286c7460 | ||
|
|
f866c4e473 | ||
|
|
8445d6cb45 | ||
|
|
5ce592dd7b | ||
|
|
d552c1d4c9 | ||
|
|
bbeed12ed6 | ||
|
|
82188f7c01 | ||
|
|
4eea2090b6 | ||
|
|
5d8c6f90f0 | ||
|
|
79e125e51f | ||
|
|
8842d41d17 | ||
|
|
0d6835bf52 | ||
|
|
89b4ffbfaa | ||
|
|
c6061d56e8 | ||
|
|
df610f4bbd | ||
|
|
d06f447c3c | ||
|
|
5e9da76301 | ||
|
|
c29422b723 | ||
|
|
ba589d9335 | ||
|
|
27bfba09d7 | ||
|
|
1d95c894ae | ||
|
|
77c3db1c9b | ||
|
|
10b0b49188 | ||
|
|
d138a59ffa | ||
|
|
3f82715281 | ||
|
|
1e84c3a252 | ||
|
|
8c596a3c88 | ||
|
|
1f92b3668b | ||
|
|
451d8e8c56 | ||
|
|
200e2ebbd4 | ||
|
|
39b45c338c | ||
|
|
f8d7acf41a | ||
|
|
d777185831 | ||
|
|
0a9a612c86 | ||
|
|
cc694305ca | ||
|
|
817325bda0 | ||
|
|
dc22fb93ae | ||
|
|
fd99f73720 | ||
|
|
e23ce953aa | ||
|
|
418ac9cb58 | ||
|
|
3603af2e6b | ||
|
|
0b56ff74b0 | ||
|
|
e1e31df740 | ||
|
|
118ff72432 | ||
|
|
ab3cd77337 | ||
|
|
7ad0563f63 | ||
|
|
67a793771f | ||
|
|
27349f9ee9 | ||
|
|
65f2e0f6ad | ||
|
|
0e8a568c30 | ||
|
|
31865372f8 | ||
|
|
8c6c110e3a | ||
|
|
6c26498aa2 | ||
|
|
4b9b63eb00 | ||
|
|
222b8cb7ae | ||
|
|
df2d72a34e | ||
|
|
e34826a2ff | ||
|
|
d76a5f87b6 | ||
|
|
7722668c7e | ||
|
|
8a85df83ac | ||
|
|
13297f7bb2 | ||
|
|
9c172ce972 | ||
|
|
9c4b78343d | ||
|
|
a192af5514 | ||
|
|
5a2afddc82 | ||
|
|
8a45f2973d | ||
|
|
d9e052330d | ||
|
|
288d2fb836 | ||
|
|
fc793d7c4d | ||
|
|
257398fb3f | ||
|
|
6db89ec924 | ||
|
|
cbdb0760c5 | ||
|
|
501efbde23 | ||
|
|
83931cf42a | ||
|
|
1bbc9f93a9 | ||
|
|
e0a10d8a39 | ||
|
|
e4ecce30be | ||
|
|
0a8c70ccc1 | ||
|
|
ef2d13b0e2 | ||
|
|
12ffe77f19 | ||
|
|
d685b50f17 | ||
|
|
42d62047cb | ||
|
|
38a19b35ed | ||
|
|
37171ecaa6 | ||
|
|
c4dbe8ef5a | ||
|
|
e60178869a | ||
|
|
3686b4169f | ||
|
|
cc39fd8094 | ||
|
|
71076aaa9c | ||
|
|
263871a6b8 | ||
|
|
ab3b80fd42 | ||
|
|
a6045cf24e | ||
|
|
8083b24b9c | ||
|
|
773057ee11 | ||
|
|
7c495468e7 | ||
|
|
0a5c34cdb3 | ||
|
|
c7a789f5f5 | ||
|
|
9cec81310b | ||
|
|
7fcee1c500 | ||
|
|
df96242c7e | ||
|
|
1e6a20e9e0 | ||
|
|
5437824ad2 | ||
|
|
4b49454956 | ||
|
|
23d3acde55 | ||
|
|
f4cf1f151d | ||
|
|
3c12ab138c | ||
|
|
233d83750b | ||
|
|
dc9e507df5 | ||
|
|
fecd479db2 | ||
|
|
d35ae463b5 | ||
|
|
302126b5f4 | ||
|
|
b0115be27d | ||
|
|
7e66305e16 | ||
|
|
c0dfd22ddb | ||
|
|
a73471643e | ||
|
|
bfd1681932 | ||
|
|
7d545b56f5 | ||
|
|
f0e5f9c782 | ||
|
|
35afebac37 | ||
|
|
9bc22acb3f | ||
|
|
6dcb54bfc7 | ||
|
|
2bdfc80c58 | ||
|
|
09b4a8f870 | ||
|
|
ace267cf7b | ||
|
|
b4a2bb9e7f | ||
|
|
ea736d4707 | ||
|
|
6a78e8cf84 | ||
|
|
1b5fc9f49b | ||
|
|
d37ca2d3d8 | ||
|
|
8a320392f4 | ||
|
|
e3263eabcd | ||
|
|
0246b885ad | ||
|
|
3ef9fa1210 | ||
|
|
7d07b88395 | ||
|
|
08f4da8343 | ||
|
|
a2ce89e46a | ||
|
|
6ceec09f0d | ||
|
|
47dc66ac79 | ||
|
|
4afed447e8 | ||
|
|
a999ddd582 | ||
|
|
38005bc214 | ||
|
|
bb221d3a07 | ||
|
|
ef7d44d4d0 | ||
|
|
16984d5906 | ||
|
|
49c4451d7d | ||
|
|
68a712c9d6 | ||
|
|
220618bc4f | ||
|
|
1c6b9eab4d | ||
|
|
07a78d3ad2 | ||
|
|
dc7ca5f2cc | ||
|
|
6351444ffc | ||
|
|
843bb0d72b | ||
|
|
b2c79dff79 | ||
|
|
e6f24c67dd | ||
|
|
459ba34789 | ||
|
|
1d80b5d0ef | ||
|
|
2519c6f961 | ||
|
|
60315f2849 | ||
|
|
280ca04a44 | ||
|
|
74f5ae0fb3 | ||
|
|
ef3944a4a6 | ||
|
|
c300da8b25 | ||
|
|
957b5d8a06 | ||
|
|
74b77919e7 | ||
|
|
be44c96847 | ||
|
|
c7c40c83a9 | ||
|
|
1f2228a991 | ||
|
|
96f5d04839 | ||
|
|
ebb88e255b | ||
|
|
2b4d85d1da | ||
|
|
dc999354ca | ||
|
|
cdc7c587a8 | ||
|
|
fe08144bf5 | ||
|
|
054a7b3926 | ||
|
|
765ceddcb9 | ||
|
|
0700c0b613 | ||
|
|
68b2c59c1f | ||
|
|
a5871d6390 | ||
|
|
f0c7b3725e | ||
|
|
ea9d7c72aa | ||
|
|
cff59eb342 | ||
|
|
a5ef302fa4 | ||
|
|
1515e9e1f3 | ||
|
|
924668c1fd | ||
|
|
971d025910 | ||
|
|
7e29add93e | ||
|
|
91cd6bb716 | ||
|
|
b46ae1db0f | ||
|
|
6e3033086f | ||
|
|
b44546d755 | ||
|
|
b6ace61817 | ||
|
|
e140ed9514 | ||
|
|
516da45523 | ||
|
|
f1462d92b7 | ||
|
|
b90a00c28c | ||
|
|
5bff5b7d12 | ||
|
|
4a2fc9e0d3 | ||
|
|
37f5929511 | ||
|
|
7fca82784e | ||
|
|
dfb057bfbf | ||
|
|
ff83788463 | ||
|
|
c223983f28 | ||
|
|
71bf5e5ab8 | ||
|
|
40d85b3873 | ||
|
|
f5b2b29376 | ||
|
|
8c10378fa5 | ||
|
|
c416945abb | ||
|
|
0279ecae84 | ||
|
|
0d29cfffac | ||
|
|
0d56b5bf03 | ||
|
|
77a0c55176 | ||
|
|
a527c3f507 | ||
|
|
3f4b2eb9eb | ||
|
|
883632adb9 | ||
|
|
48964a4b25 | ||
|
|
5cdfd79fe5 | ||
|
|
80f5a499b7 | ||
|
|
4fd5dadb0f | ||
|
|
ba7deb6725 | ||
|
|
3341323db3 | ||
|
|
e1ec21332c | ||
|
|
d52ca0dd0c | ||
|
|
bc23dde9fe | ||
|
|
bb0f2913b5 | ||
|
|
9e068b1bbc | ||
|
|
6cf118a3b1 | ||
|
|
963092a1cf | ||
|
|
92f48895e2 | ||
|
|
72a827ab6d | ||
|
|
ae86a49fd6 | ||
|
|
68d0bc9bc5 | ||
|
|
cf98bc8d95 | ||
|
|
85fad15233 | ||
|
|
2cc6edda2e | ||
|
|
fa8d52a1a9 | ||
|
|
17cb3e5acf | ||
|
|
beda918d52 | ||
|
|
a7607ab939 | ||
|
|
ec55c189c4 | ||
|
|
809e15214b | ||
|
|
3e1fae8e5d | ||
|
|
8da2c9ad92 | ||
|
|
7025c87394 | ||
|
|
977283136a | ||
|
|
f376065a54 | ||
|
|
30fbdf3c9b | ||
|
|
d4de7df987 | ||
|
|
0c183165fc | ||
|
|
12574f3f64 | ||
|
|
50f3e98002 | ||
|
|
0789c3ac27 | ||
|
|
3f7ec1b4d5 | ||
|
|
f3a9d39226 | ||
|
|
1e8ffe10c1 | ||
|
|
2374995356 | ||
|
|
d132de8de5 | ||
|
|
8ca94f5cf8 | ||
|
|
46904e1a6b | ||
|
|
52bcbcb550 | ||
|
|
9c22750a26 | ||
|
|
61a4ee8f52 | ||
|
|
fbe4635d6c | ||
|
|
641fd1c65d | ||
|
|
167067a90c | ||
|
|
822d41be97 | ||
|
|
5e26d5c6fc | ||
|
|
62a57a3445 | ||
|
|
e94c2b63d2 | ||
|
|
c1ecbdeb1a | ||
|
|
62b6d00fcc | ||
|
|
f9e4575e07 | ||
|
|
207aee279b | ||
|
|
6615362c61 | ||
|
|
0be3a775d7 | ||
|
|
8bdb75f776 | ||
|
|
4e45e1f43d | ||
|
|
e967cdca54 | ||
|
|
c4347b747b | ||
|
|
cf7cb474e4 | ||
|
|
d42e307187 | ||
|
|
e12b2b9fa4 | ||
|
|
f58c5ae67f | ||
|
|
4d07f96e0b | ||
|
|
6a5a53b142 | ||
|
|
7f346c70d5 | ||
|
|
08c706bcfb | ||
|
|
7be1b74cf9 | ||
|
|
192822b062 | ||
|
|
c738f3fbb5 | ||
|
|
00fe7d2943 | ||
|
|
92ac9bc692 | ||
|
|
dcf14d58b8 | ||
|
|
f6f1497847 | ||
|
|
b06c2f2d5b | ||
|
|
6f57e8fb60 | ||
|
|
30311afda1 | ||
|
|
fea9dc1570 | ||
|
|
0e242e4b90 | ||
|
|
bb8920b68c | ||
|
|
e3911fc56c | ||
|
|
6bb1499842 | ||
|
|
ef838c65c7 | ||
|
|
eea2c21153 | ||
|
|
d984bba156 | ||
|
|
db2022e3cf | ||
|
|
abafdd5c5d | ||
|
|
af5c4bae3a | ||
|
|
7929039bd4 | ||
|
|
a78e66a69a | ||
|
|
77cedac33f | ||
|
|
30ecb09e48 | ||
|
|
da440fdbda | ||
|
|
7dc7db4fe4 | ||
|
|
d7995abfa7 | ||
|
|
72aa309dda | ||
|
|
d198f6f410 | ||
|
|
d6dcad85c5 | ||
|
|
573169b6c2 | ||
|
|
cb09bf0137 | ||
|
|
d80d0baaa5 | ||
|
|
28b6d77279 | ||
|
|
78b9bd06c4 | ||
|
|
907117573b | ||
|
|
17b4f21317 | ||
|
|
c256ad2bec | ||
|
|
3d4fa22127 | ||
|
|
0aaf395f1b | ||
|
|
5599e187e7 | ||
|
|
da9bbdb58f | ||
|
|
75a4bc17b4 | ||
|
|
dcac2cd2ba | ||
|
|
e7a0fcabc7 | ||
|
|
bd0ab0013f | ||
|
|
54c89b4488 | ||
|
|
443dd8ab93 | ||
|
|
d3c1253bb9 | ||
|
|
3b22d451d8 | ||
|
|
c62039d0fe | ||
|
|
a4bfcb5921 | ||
|
|
d9bb6e4db9 | ||
|
|
ea8e230d76 | ||
|
|
c200028bc0 | ||
|
|
e985752eae | ||
|
|
82029e6f81 | ||
|
|
e5ca34021a | ||
|
|
737ebc6321 | ||
|
|
f8a1ff2e92 | ||
|
|
933ddf4221 | ||
|
|
f8a94d186a | ||
|
|
408d8dc635 | ||
|
|
97c2325b95 | ||
|
|
ca215608d6 | ||
|
|
ab97df91ef | ||
|
|
ee4425a4c0 | ||
|
|
15ba187aa3 | ||
|
|
7b14ba476f | ||
|
|
4af5047907 | ||
|
|
f498144f5e | ||
|
|
6c6208aa7e | ||
|
|
8cf865de84 | ||
|
|
22bf9de635 | ||
|
|
461b6ba700 | ||
|
|
69567af795 | ||
|
|
f7f20a8ff8 | ||
|
|
717d5e3da5 | ||
|
|
4ad20c7687 | ||
|
|
e14c8b18c8 | ||
|
|
2cfc8ee74c | ||
|
|
73047a6114 | ||
|
|
bb41dec4f6 | ||
|
|
c1193fcda0 | ||
|
|
b1f1214534 | ||
|
|
7b050209a8 | ||
|
|
74c26ba715 | ||
|
|
fb2d0fb0f9 | ||
|
|
d307231325 | ||
|
|
5ca4abb05c | ||
|
|
86c3bfe43f | ||
|
|
e1f344b79f | ||
|
|
5214a155ba | ||
|
|
2b06e251dc | ||
|
|
b789a73e14 | ||
|
|
4d25b5acd2 | ||
|
|
dac90a3298 | ||
|
|
6f38d5f199 | ||
|
|
a795d948d9 | ||
|
|
4529897377 | ||
|
|
4784863c70 | ||
|
|
d884da1207 | ||
|
|
f334ae8925 | ||
|
|
bd521a56ca | ||
|
|
247b50d27f | ||
|
|
810b2d2193 | ||
|
|
10a5141b4c | ||
|
|
5514cd4118 | ||
|
|
7883618dbc | ||
|
|
e80a8b36ac | ||
|
|
60287821a6 | ||
|
|
18481bee41 | ||
|
|
48c11963f8 | ||
|
|
6619c4ef47 | ||
|
|
3df4d69b98 | ||
|
|
4956838f8f | ||
|
|
ae214249a3 | ||
|
|
bc30990044 | ||
|
|
69a2c7176e | ||
|
|
b910e72d40 | ||
|
|
8af467d970 | ||
|
|
0e1df36451 | ||
|
|
9c0faf4e70 | ||
|
|
b1e7c758a7 | ||
|
|
16a92ecdb2 | ||
|
|
47ff6e0f9e | ||
|
|
ecca22e07a | ||
|
|
97002dd7aa | ||
|
|
7c5b5d66ff | ||
|
|
c757aca483 | ||
|
|
8a71408485 | ||
|
|
bf62773448 | ||
|
|
f1124be5eb | ||
|
|
6d0ef3dff5 | ||
|
|
fa8f90d8c3 | ||
|
|
edc0d4df00 | ||
|
|
b958a809c5 | ||
|
|
0a3cd3f04b | ||
|
|
170e21e0c8 | ||
|
|
4a3dcc890f | ||
|
|
091a714713 | ||
|
|
fb4b0f9cc0 | ||
|
|
0f96683e24 | ||
|
|
19ae780bb6 | ||
|
|
9012dabb3e | ||
|
|
fcc7c4cd2a | ||
|
|
1ece8598da | ||
|
|
bd2ac5a2ef | ||
|
|
45d9564e95 | ||
|
|
3d600876a1 | ||
|
|
4f654e2f53 | ||
|
|
38adf360ef | ||
|
|
def409af3f | ||
|
|
9cc764fc12 | ||
|
|
d3d578ae26 | ||
|
|
a9b3660403 | ||
|
|
1c0b129391 | ||
|
|
7cc8a4055b | ||
|
|
dfa86d81fe | ||
|
|
eec038c519 | ||
|
|
ec10e794be | ||
|
|
75d096a5ee | ||
|
|
cab99c5f26 | ||
|
|
aea6325487 | ||
|
|
88084a581c | ||
|
|
5c5d77d125 | ||
|
|
0f4bbf7aa4 | ||
|
|
6bbede0a65 | ||
|
|
6f325a59db | ||
|
|
68b6b3fbcd | ||
|
|
2ec47dff76 | ||
|
|
c00dd838c6 | ||
|
|
71a6e1c79b | ||
|
|
794822c542 | ||
|
|
2e1918b793 | ||
|
|
c9c28030c6 | ||
|
|
046044645d | ||
|
|
a534e28c31 | ||
|
|
5d0b6bb4c3 | ||
|
|
a3c08af485 | ||
|
|
2018b1d0f3 | ||
|
|
9939880334 | ||
|
|
537746a6cb | ||
|
|
8e4394b44b | ||
|
|
520a62c289 | ||
|
|
85cd595267 | ||
|
|
84c6632093 | ||
|
|
c4ec620e04 | ||
|
|
9339fa9b79 | ||
|
|
81a05cba11 | ||
|
|
a472002822 | ||
|
|
fa927dd63c | ||
|
|
a9d952ef37 | ||
|
|
b00207c6c0 | ||
|
|
bedb598793 | ||
|
|
6d8e1ce97f | ||
|
|
22fba56a6a | ||
|
|
07361d978e | ||
|
|
c2a932cbcd | ||
|
|
816abc1044 | ||
|
|
a6ef57cb83 | ||
|
|
19649f8028 | ||
|
|
bc5212dc9b | ||
|
|
b4e0d5e83d | ||
|
|
997378062c | ||
|
|
c0906d1ce1 | ||
|
|
4edf3d63f3 | ||
|
|
af81e6b0ab | ||
|
|
7ef19365a9 | ||
|
|
04070fe852 | ||
|
|
fa47916247 | ||
|
|
d8e0311ca7 | ||
|
|
8267b80214 | ||
|
|
2bc8ed274b | ||
|
|
e628a7137a | ||
|
|
ce7aadca21 | ||
|
|
f69c8ced98 | ||
|
|
92ffd3ce73 | ||
|
|
28cb6d17ed | ||
|
|
4d3b881959 | ||
|
|
1166bede86 | ||
|
|
ac451e6519 | ||
|
|
a5a564327a | ||
|
|
10360bf14a | ||
|
|
ee978ab20d | ||
|
|
30aa8ca1bf | ||
|
|
539bd67014 | ||
|
|
b4440f585b | ||
|
|
d91e8d0575 | ||
|
|
37ee6f7988 | ||
|
|
31c80cec44 | ||
|
|
b34a52faf4 | ||
|
|
5b2e634acf | ||
|
|
acd2667ba5 | ||
|
|
a364eccb10 | ||
|
|
2052ac2810 | ||
|
|
fd7e3074bc | ||
|
|
adc624ce0b | ||
|
|
3dc5184c62 | ||
|
|
0deb6d5788 | ||
|
|
5042a8e4b8 | ||
|
|
98b4077c07 | ||
|
|
b9e06dbc54 | ||
|
|
d58005764c | ||
|
|
2fa50318d1 | ||
|
|
91689206db | ||
|
|
c3e9c66d77 | ||
|
|
9726ec12a6 | ||
|
|
c5e047ae5b | ||
|
|
78e493ff49 | ||
|
|
3e59d1ea92 | ||
|
|
163fb2348e | ||
|
|
dcd450b076 | ||
|
|
4cef4af1e9 | ||
|
|
894bfd951b | ||
|
|
1f42836ba4 | ||
|
|
59e42aa77a | ||
|
|
28cf4d06ab | ||
|
|
703230968b | ||
|
|
ac7bb1f70a | ||
|
|
5b7578aefb | ||
|
|
248925e652 | ||
|
|
1859648bae | ||
|
|
554b691f3e | ||
|
|
93432fc48c | ||
|
|
c3feb330b6 | ||
|
|
44f5d56d96 | ||
|
|
b8b3ecdc63 | ||
|
|
6881bffcde | ||
|
|
66f4dea749 | ||
|
|
c80486d31e | ||
|
|
3b3c28847f | ||
|
|
a54458b70a | ||
|
|
5ea535acd2 | ||
|
|
527da92e4a | ||
|
|
215bc793bf | ||
|
|
f7a3ed8f28 | ||
|
|
f2853f428f | ||
|
|
51e944c98f | ||
|
|
f9a067d2f4 | ||
|
|
055d6a826b | ||
|
|
e90ef74523 | ||
|
|
001bf396df | ||
|
|
24daf39f6d | ||
|
|
efc92da96e | ||
|
|
7adf5800b0 | ||
|
|
f170b1395a | ||
|
|
7c0997f6f3 | ||
|
|
789baaf316 | ||
|
|
540b228247 | ||
|
|
f584e872ce | ||
|
|
5308132ff8 | ||
|
|
d5889d1c22 | ||
|
|
05fcc6dbd1 | ||
|
|
8002db31d2 | ||
|
|
a2bed82c91 | ||
|
|
3765ab5565 | ||
|
|
6f2918b34c | ||
|
|
49b3f28b36 | ||
|
|
d7667dbcde | ||
|
|
29b67cb2a3 | ||
|
|
b86fd1a6f2 | ||
|
|
4a69f141e9 | ||
|
|
596cfe44b3 | ||
|
|
bf5f4a86d9 | ||
|
|
0a5f3f9e7d | ||
|
|
37b7d5b846 | ||
|
|
87cb0d3160 | ||
|
|
5f55804c43 | ||
|
|
8d7d9f166c | ||
|
|
6718686e58 | ||
|
|
3711fd938d | ||
|
|
8943c9db34 | ||
|
|
2e72fbe681 | ||
|
|
5e179cdb0d | ||
|
|
d5797eb860 | ||
|
|
21d09296ce | ||
|
|
a579863acb | ||
|
|
abba5d1823 | ||
|
|
295b77e091 | ||
|
|
979263685a | ||
|
|
91af2ad85a | ||
|
|
d9b7929b92 | ||
|
|
635df32b93 | ||
|
|
a4e9b30617 | ||
|
|
2db7b00402 | ||
|
|
2feaa57f79 | ||
|
|
27ba254cef | ||
|
|
871dcf640b | ||
|
|
a04001b34e | ||
|
|
01b57f8a86 | ||
|
|
533e166249 | ||
|
|
a09b7dfb1b | ||
|
|
fd31196d75 | ||
|
|
9df8c8e479 | ||
|
|
65e7b9c6a5 | ||
|
|
139b1f4e15 | ||
|
|
1c47280809 | ||
|
|
16cfdb7feb | ||
|
|
877b1b2928 | ||
|
|
3e3c0a8194 | ||
|
|
1fcb29d655 | ||
|
|
53ffd73c33 | ||
|
|
e1a10ab5c9 | ||
|
|
28bd51c5af | ||
|
|
28a3974f1e | ||
|
|
da7c18b93f | ||
|
|
2d1b767958 | ||
|
|
d7ce33dbde | ||
|
|
5fa65d9bd2 | ||
|
|
f7c6d220d9 | ||
|
|
7d94261be7 | ||
|
|
73d45aa9cf | ||
|
|
3660c57e00 | ||
|
|
d37785e8cf | ||
|
|
6846e74d8f | ||
|
|
7a2d898765 | ||
|
|
8d93d0411c | ||
|
|
62e701cedc | ||
|
|
9bed10a4aa | ||
|
|
e349098adb | ||
|
|
1c908406a9 | ||
|
|
9f3bea3a83 | ||
|
|
dbeb6cfb7d | ||
|
|
07ffa2b803 | ||
|
|
e40c2ca4db | ||
|
|
b64abd7da3 | ||
|
|
0ee8ca78a4 | ||
|
|
10921cf101 | ||
|
|
fbe5fba52c | ||
|
|
e70de8f8f5 | ||
|
|
ea0b500fd1 | ||
|
|
772b9e9598 | ||
|
|
d42225574c | ||
|
|
698c434b6b | ||
|
|
dfe9e23210 | ||
|
|
5bc6fb051f | ||
|
|
4067adb9c0 | ||
|
|
08069b7102 | ||
|
|
6309048fe5 | ||
|
|
69fd1ebb71 | ||
|
|
07ec14c67c | ||
|
|
1af1f20a4e | ||
|
|
38a5d25a8d | ||
|
|
77354187f4 | ||
|
|
7aa2efb3ae | ||
|
|
168d893ff1 | ||
|
|
e80bac5c27 | ||
|
|
3cabdeae07 | ||
|
|
7f7e3df719 | ||
|
|
4dd1be4653 | ||
|
|
7fe37bda48 | ||
|
|
0f4e8d27f7 | ||
|
|
0bdfdecac3 | ||
|
|
be8ad09250 | ||
|
|
98e41d5334 | ||
|
|
ad84d7315d | ||
|
|
e34488bad4 | ||
|
|
3f1daf23b8 | ||
|
|
472304b984 | ||
|
|
c31e35ca76 | ||
|
|
8c4ce762f2 | ||
|
|
3b00f6d238 | ||
|
|
d6a4925a1c | ||
|
|
b00dbf0692 | ||
|
|
df7af2918e | ||
|
|
be2c0502d0 | ||
|
|
1ea93ef735 | ||
|
|
3d338ef897 | ||
|
|
c8bb1c96d1 | ||
|
|
379ef37236 | ||
|
|
2335006a75 | ||
|
|
7bd036eb4a | ||
|
|
1b6f39956e | ||
|
|
7c2d0c8f2d | ||
|
|
abaa74a9aa | ||
|
|
90c878fadc | ||
|
|
55272980be | ||
|
|
899f803212 | ||
|
|
f7752dee94 | ||
|
|
1ca8846417 | ||
|
|
bf938bbf57 | ||
|
|
fae0d2814d | ||
|
|
db13614954 | ||
|
|
a7a73a09a8 | ||
|
|
59e70d58b2 | ||
|
|
9643bfbb53 | ||
|
|
0ef17ae38e | ||
|
|
17239ccb66 | ||
|
|
562a4e3dc6 | ||
|
|
066415879f | ||
|
|
8df7a3f342 | ||
|
|
e5f18a98f8 | ||
|
|
0b06cea437 | ||
|
|
10414241ac | ||
|
|
769fb74b8d | ||
|
|
650d4f52ea | ||
|
|
07ed513f3e | ||
|
|
02e9dc33b1 | ||
|
|
a4a13d95ca | ||
|
|
084109189b | ||
|
|
5c3bef0dec | ||
|
|
04eeba0d0a | ||
|
|
5b889ff557 | ||
|
|
ff7b2594fd | ||
|
|
0d2484b527 | ||
|
|
f697d077b8 | ||
|
|
93938b1031 | ||
|
|
d5f8f71676 | ||
|
|
4784e0f214 | ||
|
|
3e0a3272d0 | ||
|
|
16eaba9338 | ||
|
|
432bd66c1f | ||
|
|
118ddc0624 | ||
|
|
008be0d034 | ||
|
|
fe12837226 | ||
|
|
5a55275c10 | ||
|
|
da0b27caf6 | ||
|
|
a5355987b9 | ||
|
|
207292fc49 | ||
|
|
c18381ed31 | ||
|
|
e6eb7349b2 | ||
|
|
f341d1757b | ||
|
|
6b0c37f47e | ||
|
|
4026e3d070 | ||
|
|
fcb13faa98 | ||
|
|
5a6d0facd9 | ||
|
|
029e3503ef | ||
|
|
58a0f75210 | ||
|
|
8dd2041640 | ||
|
|
af16a31bd3 | ||
|
|
a5194219ac | ||
|
|
453ca9f667 | ||
|
|
daf47a4d1a | ||
|
|
d1013ceeb5 | ||
|
|
a5eda56ede | ||
|
|
023c14b4d3 | ||
|
|
f269161bd1 | ||
|
|
8dff3f14ed | ||
|
|
3641c168a0 | ||
|
|
5ea0851477 | ||
|
|
341853d55c | ||
|
|
6c8da225fd | ||
|
|
745a63530d | ||
|
|
2cf5714676 | ||
|
|
734b63d95f | ||
|
|
fc28653b1a | ||
|
|
0d5c4b5841 | ||
|
|
b743f98bc1 | ||
|
|
e9b148afce | ||
|
|
3fc17b2ffd | ||
|
|
674e747e55 | ||
|
|
2dfd6595a7 | ||
|
|
8f89dfee44 | ||
|
|
e5dcc5ce70 | ||
|
|
297491eba4 | ||
|
|
1bdb84b9e8 | ||
|
|
ef15035d74 | ||
|
|
0eebbbc197 | ||
|
|
7a29acb0be | ||
|
|
5af221dac2 | ||
|
|
2615456f07 | ||
|
|
7857355802 | ||
|
|
d741e4c6f5 | ||
|
|
5f0ff5e2f5 | ||
|
|
d883de37a1 | ||
|
|
6773dff281 | ||
|
|
12c6fc17df | ||
|
|
079a6bbe80 | ||
|
|
bbdbc6c656 | ||
|
|
7967e2bae6 | ||
|
|
34fefd23a0 | ||
|
|
5109ca6da7 | ||
|
|
b03ace0740 | ||
|
|
59c7034172 | ||
|
|
57e630081c | ||
|
|
016f94f8cc | ||
|
|
27d1c1ddf1 | ||
|
|
0310cbafce | ||
|
|
90470981c8 | ||
|
|
221c43cda2 | ||
|
|
af6102eadb | ||
|
|
fe27e4292c | ||
|
|
bf938bd39f | ||
|
|
23cb9b8815 | ||
|
|
a0e6e02924 | ||
|
|
b266e05226 | ||
|
|
8d47e79491 | ||
|
|
568d8f618b | ||
|
|
94e2d8370c | ||
|
|
8b2bf0c182 | ||
|
|
deb45ce5dc | ||
|
|
35021851b4 | ||
|
|
fd762e6a68 | ||
|
|
4af4a41b7e | ||
|
|
f922e36f32 | ||
|
|
89accf5ab3 | ||
|
|
07b9802637 | ||
|
|
7ee56c3f09 | ||
|
|
619e006e10 | ||
|
|
408497b23a | ||
|
|
e19544ffd5 | ||
|
|
e5709c0ca3 | ||
|
|
e77cbd4299 | ||
|
|
33ecf705cb | ||
|
|
48ca63327e | ||
|
|
1a209fde97 | ||
|
|
b971d81e08 | ||
|
|
422ce7d46c | ||
|
|
48aaa1ef6a | ||
|
|
8b9c37e240 | ||
|
|
050b7004d8 | ||
|
|
3d60cb6a19 | ||
|
|
be93df4b19 | ||
|
|
b1f7fee413 | ||
|
|
5393d02499 | ||
|
|
5d8c3e32b6 | ||
|
|
d9d84a272c | ||
|
|
49f6fe399a | ||
|
|
cd315efe5b | ||
|
|
3115a40be1 | ||
|
|
71e2e5d8b7 | ||
|
|
25298799c8 | ||
|
|
cfef3bf1f9 | ||
|
|
2f9d3dab16 | ||
|
|
a15698910d | ||
|
|
0b8d2f2331 | ||
|
|
f779b9090c | ||
|
|
619f1cff73 | ||
|
|
2cb0be14d9 | ||
|
|
da3469cacb | ||
|
|
a078865989 | ||
|
|
52a59262e2 | ||
|
|
95ae43f8a1 | ||
|
|
9cb38fca62 | ||
|
|
7c31146e6c | ||
|
|
1bfccba6df | ||
|
|
e5df01012b | ||
|
|
e78f5aef66 | ||
|
|
cec1eff81d | ||
|
|
e68fe10d18 | ||
|
|
6a96f61422 | ||
|
|
55ef4f21d3 | ||
|
|
0e8c771d4a | ||
|
|
faafe98d60 | ||
|
|
f4290605b9 | ||
|
|
6ccaf182fc | ||
|
|
7851d7bcd6 | ||
|
|
d163d13fe6 | ||
|
|
1043a94d6a | ||
|
|
1b1611efab | ||
|
|
65ea40a998 | ||
|
|
1f5c2ff52e | ||
|
|
f690912f71 | ||
|
|
1f69c67ba0 | ||
|
|
378424d273 | ||
|
|
ebc3196d86 | ||
|
|
1e11bec6b1 | ||
|
|
10adc55f02 | ||
|
|
25d7b3f1ad | ||
|
|
750458c1b8 | ||
|
|
6beb13e21d | ||
|
|
42611ca3b7 | ||
|
|
627a6ee08b | ||
|
|
cf8f1ea43b |
@@ -1,5 +1,7 @@
|
||||
liberapay: marcpartensky
|
||||
patreon: marcpartensky
|
||||
github: marcpartensky
|
||||
custom:
|
||||
# - monero:43J2XmRtjDPRLD35UsYGH2AZamFBQz7dt4VdvZXVm3SuadTrvcoXUXBRUNHqukFte23Q5TWXqhbwaLJJgoVQzzbe2AJDANQ
|
||||
- https://paypal.me/marcpartensky
|
||||
- https://buymeacoffee.com/marcpartensky
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
name: Check docker compose files
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- v*
|
||||
jobs:
|
||||
build:
|
||||
env:
|
||||
BIND_MOUNTS: "/srv"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install make and docker-compose
|
||||
run: sudo apt install -y docker-compose make
|
||||
# - name: Check docker-compose files
|
||||
# run: for file in `find services/*`; do docker-compose -f $file config > /dev/null; done
|
||||
- name: Clone validator
|
||||
run: git clone https://github.com/serviceprototypinglab/dcvalidator /opt/validator
|
||||
- name: Merge to docker-compose.yml
|
||||
run: make merge
|
||||
- name: Validate docker-compose.yml
|
||||
# run: docker-compose -f stacks/docker-compose.yml config
|
||||
# run: /opt/validator/validator-cli.py -f stacks/docker-compose.yml
|
||||
run: docker-compose -f stacks/docker-compose.yml ps
|
||||
@@ -1,20 +0,0 @@
|
||||
name: Docker Swarm Deployed
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- v*
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Update
|
||||
run: apt-get update
|
||||
- name: Install ssh
|
||||
run: apt-get install openssh-client -y
|
||||
- name: Setup ssh agent
|
||||
run: eval $(ssh-agent -s) && ssh-add <(echo $SSH_PRIVATE_KEY)
|
||||
- name: Deploy to Docker swarm
|
||||
run: ssh -o StrictHostKeyChecking=no $SSH_REMOTE docker swarm deploy -c vps.yml vps
|
||||
+43
-2
@@ -1,12 +1,53 @@
|
||||
*.env
|
||||
data/secrets/*.env
|
||||
!data/secrets/*.template.env
|
||||
docker-compose.yml
|
||||
data/openvpn
|
||||
data/secrets
|
||||
data/certbot
|
||||
data/traefik
|
||||
data/searx
|
||||
data/jenkins
|
||||
data/beef
|
||||
data/tmate/keys
|
||||
data/authelia
|
||||
data/mx-puppet-discord
|
||||
data/matrix
|
||||
data/heimdall
|
||||
data/pihole/etc-pihole
|
||||
data/pxe
|
||||
data/postgres/certs
|
||||
data/wireguard
|
||||
data/vaultwarden
|
||||
data/filebrowser
|
||||
data/focalboard
|
||||
data/openvpn_*
|
||||
data/mailcow
|
||||
data/dockvpn
|
||||
data/hydra
|
||||
data/yt-dlp
|
||||
data/mongo
|
||||
data/gpg
|
||||
data/redis
|
||||
data/fdroid
|
||||
data/grafana
|
||||
data/qbittorrent
|
||||
data/webdav
|
||||
data/pufferpanel
|
||||
data/dockge
|
||||
data/ocis
|
||||
data/owncloud
|
||||
data/wg-easy
|
||||
data/nextcloud
|
||||
data/casdoor
|
||||
data/stash
|
||||
data/code-server
|
||||
data/gotify
|
||||
data/apprise
|
||||
data/calibre
|
||||
data/codeserver
|
||||
data/consul
|
||||
data/zitadel
|
||||
data.tar.gz
|
||||
data.7z
|
||||
data.7z.gpg
|
||||
services/template.yml
|
||||
data/traefik/dynamic/oidc.yml
|
||||
|
||||
@@ -3,12 +3,30 @@ compose:
|
||||
swarm:
|
||||
cat ./env/vps.txt | STACK=vps xargs ./bin/docker-setup.sh
|
||||
merge:
|
||||
./bin/setup.sh merge vps
|
||||
./bin/docker-setup.sh merge vps
|
||||
mswarm: merge
|
||||
docker stack deploy -c stacks/docker-compose.yml vps
|
||||
down:
|
||||
docker stack rm vps
|
||||
pull:
|
||||
for file in services/*; do docker-compose -f $$file pull; done
|
||||
export:
|
||||
tar cvzf data.tgz data
|
||||
gpg --encrypt --recipient 'marc.partensky@gmail.com' data.tgz
|
||||
rm data.tgz
|
||||
network:
|
||||
docker network create --driver overlay --attachable caddy
|
||||
7z a -p data.7z data
|
||||
import:
|
||||
7z x -p data.7z
|
||||
sign:
|
||||
gpg --encrypt --sign --recipient 'marc@marcpartensky.com' data.7z
|
||||
# rm data.tgz
|
||||
networks:
|
||||
docker network create --attachable caddy || true
|
||||
docker network create --attachable ldap || true
|
||||
docker network create --attachable postgres || true
|
||||
docker network create --attachable mongo || true
|
||||
docker network create --attachable vpn || true
|
||||
docker network create --attachable redis || true
|
||||
docker network create --attachable mqtt || true
|
||||
docker network create --subnet 172.22.1.0/24 --gateway 172.22.1.1 --attachable mailcow || true
|
||||
docker network create --subnet 10.22.69.0/24 --gateway 10.22.69.1 --attachable pritunl || true
|
||||
node:
|
||||
docker node update --label-add net=web contabo
|
||||
docker node update --label-add net=none tower
|
||||
|
||||
@@ -1,39 +1,221 @@
|
||||
[](https://github.com/MarcPartensky/Docker/actions/workflows/docker-swarm-deploy.yml)
|
||||
|
||||
# Docker
|
||||
|
||||
## Domains
|
||||
- https://marcpartensky.com
|
||||
- https://pandoc.marcpartensky.com
|
||||
- https://ialab.marcpartensky.com
|
||||
- https://notebook.marcpartensky.com
|
||||
- https://searx.marcpartensky.com
|
||||
- https://cloud.marcpartensky.com
|
||||
- https://wordpress.marcpartensky.com
|
||||
- https://git.marcpartensky.com
|
||||
- https://gitlab.marcpartensky.com
|
||||
- https://todolist.marcpartensky.com
|
||||
- https://api.todolist.marcpartensky.com
|
||||
- https://uml.marcpartensky.com
|
||||
- https://grafana.marcpartensky.com
|
||||
- https://prometheus.marcpartensky.com
|
||||
- https://swarm.marcpartensky.com
|
||||
- https://auth.marcpartensky.com
|
||||
<!-- - https://dns.marcpartensky.com -->
|
||||
<!-- - https://glou.marcpartensky.com -->
|
||||
<!-- - https://minecraft.marcpartensky.com -->
|
||||
[](https://heimdall.marcpartensky.com)
|
||||
|
||||
## Reverse proxy
|
||||
The `docker-compose.yml` configuration is compatible with the following reverse-proxies:
|
||||
- traefik
|
||||
- caddy
|
||||
- nginx
|
||||
Self-hosted infrastructure managing 150+ services via Docker Compose, deployed on a personal VPS with automated merge/deploy tooling and multi reverse-proxy support (Traefik, Caddy, Nginx).
|
||||
|
||||
All services are in the `services/` folder as individual Compose files, ready to deploy standalone or merged into a single stack.
|
||||
|
||||
## Deploy the stack
|
||||
```
|
||||
docker stack deploy -c vps.yml vps
|
||||
## Services
|
||||
|
||||
|
||||
|
||||
| Service | Description |
|
||||
| --- | --- |
|
||||
| [adguard](services/adguard/compose.yml) | Network-wide DNS ad blocker |
|
||||
| [authentik](services/authentik/compose.yml) | SSO / identity provider |
|
||||
| [authentik_ldap](services/authentik_ldap/compose.yml) | Authentik LDAP outpost |
|
||||
| [authelia](services/authelia/compose.yml) | Lightweight SSO and 2FA gateway |
|
||||
| [casdoor](services/casdoor/compose.yml) | OAuth2 / OIDC identity platform |
|
||||
| [keycloak](services/keycloak/compose.yml) | Enterprise identity and access management |
|
||||
| [ldap](services/ldap/compose.yml) | OpenLDAP directory server |
|
||||
| [ldap-manager](services/ldap-manager/compose.yml) | LDAP management UI |
|
||||
| [zitadel](services/zitadel/compose.yml) | Cloud-native identity platform |
|
||||
| [hydra](services/hydra/compose.yml) | OAuth2 server (ORY Hydra) |
|
||||
| [traefik](services/traefik/compose.yml) | Reverse proxy and automatic TLS termination |
|
||||
| [caddy](services/caddy/compose.yml) | Modern reverse proxy with auto-HTTPS |
|
||||
| [nginx](services/nginx/compose.yml) | Classic HTTP reverse proxy |
|
||||
| [pangolin](services/pangolin/compose.yml) | Tunneled reverse proxy for private networks |
|
||||
| [cloudflare](services/cloudflare/compose.yml) | Cloudflare tunnel / DDNS integration |
|
||||
| [sslh](services/sslh/compose.yml) | SSL/SSH multiplexer on port 443 |
|
||||
| [wireguard](services/wireguard/compose.yml) | WireGuard VPN server |
|
||||
| [wireguard-client](services/wireguard-client/compose.yml) | WireGuard VPN client |
|
||||
| [openvpn](services/openvpn/compose.yml) | OpenVPN server |
|
||||
| [openvpn_client](services/openvpn_client/compose.yml) | OpenVPN client |
|
||||
| [dockvpn](services/dockvpn/compose.yml) | VPN-in-Docker setup |
|
||||
| [ipsec](services/ipsec/compose.yml) | IPSec VPN (strongSwan) |
|
||||
| [libreswan](services/libreswan/compose.yml) | IPSec VPN (Libreswan) |
|
||||
| [pritunl](services/pritunl/compose.yml) | OpenVPN management platform |
|
||||
| [gluetun](services/gluetun/compose.yml) | VPN client container with killswitch |
|
||||
| [wstunnel](services/wstunnel/compose.yml) | WebSocket tunneling |
|
||||
| [tunnel](services/tunnel/compose.yml) | Generic tunnel service |
|
||||
| [grafana](services/grafana/compose.yml) | Metrics and monitoring dashboards |
|
||||
| [prometheus](services/prometheus/compose.yml) | Time-series metrics collection |
|
||||
| [cadvisor](services/cadvisor/compose.yml) | Container resource usage monitoring |
|
||||
| [signoz](services/signoz/compose.yml) | OpenTelemetry observability platform |
|
||||
| [uptime](services/uptime/compose.yml) | Uptime Kuma - service health monitoring |
|
||||
| [diun](services/diun/compose.yml) | Docker image update notifier |
|
||||
| [wud](services/wud/compose.yml) | What's Up Docker - image update tracker |
|
||||
| [fail2ban](services/fail2ban/compose.yml) | Intrusion prevention via log analysis |
|
||||
| [portainer](services/portainer/compose.yml) | Docker container management UI |
|
||||
| [dockge](services/dockge/compose.yml) | Docker Compose stack manager UI |
|
||||
| [rancher](services/rancher/compose.yml) | Kubernetes / multi-cluster management |
|
||||
| [swarmpit](services/swarmpit/compose.yml) | Docker Swarm management UI |
|
||||
| [swarm-visualizer](services/swarm-visualizer/compose.yml) | Docker Swarm topology visualizer |
|
||||
| [mobydock](services/mobydock/compose.yml) | Docker management dashboard |
|
||||
| [dockerdash](services/dockerdash/compose.yml) | Docker container dashboard |
|
||||
| [docker](services/docker/compose.yml) | Docker-in-Docker setup |
|
||||
| [registry](services/registry/compose.yml) | Private Docker image registry |
|
||||
| [sablier](services/sablier/compose.yml) | On-demand container startup |
|
||||
| [gitea](services/gitea/compose.yml) | Lightweight self-hosted Git service |
|
||||
| [gitlab](services/gitlab/compose.yml) | Full DevOps platform with CI/CD |
|
||||
| [jenkins](services/jenkins/compose.yml) | CI/CD automation server |
|
||||
| [gitbook](services/gitbook/compose.yml) | Git-based documentation platform |
|
||||
| [bookstack](services/bookstack/compose.yml) | Wiki and knowledge base |
|
||||
| [wikijs](services/wikijs/compose.yml) | Modern wiki platform |
|
||||
| [docuwiki](services/docuwiki/compose.yml) | DokuWiki flat-file wiki |
|
||||
| [outline](services/outline/compose.yml) | Team knowledge base and wiki |
|
||||
| [documize](services/documize/compose.yml) | Enterprise document management |
|
||||
| [logseq](services/logseq/compose.yml) | Local-first knowledge graph |
|
||||
| [mermaid](services/mermaid/compose.yml) | Diagram rendering service |
|
||||
| [jupyterlab](services/jupyterlab/compose.yml) | Interactive Python notebook environment |
|
||||
| [jupyterhub](services/jupyterhub/compose.yml) | Multi-user JupyterHub server |
|
||||
| [code-server](services/code-server/compose.yml) | VS Code in the browser |
|
||||
| [streamlit](services/streamlit/compose.yml) | Streamlit app hosting |
|
||||
| [ialab](services/ialab/compose.yml) | AI/ML experimentation environment |
|
||||
| [ia](services/ia/compose.yml) | AI service deployment |
|
||||
| [mistral](services/mistral/compose.yml) | Self-hosted Mistral LLM |
|
||||
| [open-webui](services/open-webui/compose.yml) | Web UI for local LLMs (Ollama) |
|
||||
| [real-esrgan](services/real-esrgan/compose.yml) | AI image upscaling service |
|
||||
| [chatgpt](services/chatgpt/compose.yml) | ChatGPT API proxy / UI |
|
||||
| [serge](services/serge/compose.yml) | LLaMA chat interface |
|
||||
| [nextcloud](services/nextcloud/compose.yml) | Cloud storage and collaboration suite |
|
||||
| [owncloud](services/owncloud/compose.yml) | Self-hosted file storage platform |
|
||||
| [ocis](services/ocis/compose.yml) | ownCloud Infinite Scale |
|
||||
| [seafile](services/seafile/compose.yml) | High-performance file sync and share |
|
||||
| [filebrowser](services/filebrowser/compose.yml) | Web-based file manager |
|
||||
| [syncthing](services/syncthing/compose.yml) | Peer-to-peer file synchronization |
|
||||
| [minio](services/minio/compose.yml) | S3-compatible object storage |
|
||||
| [webdav](services/webdav/compose.yml) | WebDAV file server |
|
||||
| [vaultwarden](services/vaultwarden/compose.yml) | Bitwarden-compatible password manager |
|
||||
| [paperless](services/paperless/compose.yml) | Paperless-ngx document management and OCR |
|
||||
| [docuseal](services/docuseal/compose.yml) | Document signing platform |
|
||||
| [pandoc](services/pandoc/compose.yml) | Universal document converter |
|
||||
| [calibre](services/calibre/compose.yml) | E-book library and converter |
|
||||
| [wallabag](services/wallabag/compose.yml) | Read-it-later / article archiver |
|
||||
| [linkding](services/linkding/compose.yml) | Minimalist bookmark manager |
|
||||
| [linkwarden](services/linkwarden/compose.yml) | Collaborative bookmark manager |
|
||||
| [yourls](services/yourls/compose.yml) | Self-hosted URL shortener |
|
||||
| [kutt](services/kutt/compose.yml) | Modern URL shortener |
|
||||
| [postgres](services/postgres/compose.yml) | PostgreSQL database |
|
||||
| [pgadmin](services/pgadmin/compose.yml) | PostgreSQL admin UI |
|
||||
| [pgweb](services/pgweb/compose.yml) | Lightweight PostgreSQL web client |
|
||||
| [postgrest](services/postgrest/compose.yml) | REST API auto-generated from PostgreSQL schema |
|
||||
| [pg-backup](services/pg-backup/compose.yml) | Automated PostgreSQL backup |
|
||||
| [mysql](services/mysql/compose.yml) | MySQL database |
|
||||
| [mongo](services/mongo/compose.yml) | MongoDB database |
|
||||
| [mongo_express](services/mongo_express/compose.yml) | MongoDB web admin UI |
|
||||
| [mongo_backup](services/mongo_backup/compose.yml) | Automated MongoDB backup |
|
||||
| [redis](services/redis/compose.yml) | In-memory key-value store |
|
||||
| [elasticsearch](services/elasticsearch/compose.yml) | Full-text search and analytics engine |
|
||||
| [kibana](services/kibana/compose.yml) | Elasticsearch visualization UI |
|
||||
| [dbdesigner](services/dbdesigner/compose.yml) | Database schema design tool |
|
||||
| [nocodb](services/nocodb/compose.yml) | Airtable-like interface over any SQL database |
|
||||
| [n8n](services/n8n/compose.yml) | Workflow automation platform |
|
||||
| [apprise](services/apprise/compose.yml) | Multi-platform push notification service |
|
||||
| [gotify](services/gotify/compose.yml) | Self-hosted push notification server |
|
||||
| [ntfy](services/ntfy/compose.yml) | Simple pub/sub notification service |
|
||||
| [mosquitto](services/mosquitto/compose.yml) | MQTT message broker |
|
||||
| [matrix](services/matrix/compose.yml) | Matrix homeserver (Synapse) |
|
||||
| [conduit](services/conduit/compose.yml) | Lightweight Matrix homeserver |
|
||||
| [rocketchat](services/rocketchat/compose.yml) | Self-hosted team chat platform |
|
||||
| [ssh-chat](services/ssh-chat/compose.yml) | Chat over SSH |
|
||||
| [discord-bot](services/discord-bot/compose.yml) | Discord bot deployment |
|
||||
| [discord_chatgpt](services/discord_chatgpt/compose.yml) | Discord bot with ChatGPT integration |
|
||||
| [jellyfin](services/jellyfin/compose.yml) | Media server (video, music, photos) |
|
||||
| [plex](services/plex/compose.yml) | Plex media server |
|
||||
| [peertube](services/peertube/compose.yml) | Self-hosted video platform |
|
||||
| [audiobookshelf](services/audiobookshelf/compose.yml) | Audiobook and podcast server |
|
||||
| [minidlna](services/minidlna/compose.yml) | DLNA media streaming server |
|
||||
| [stash](services/stash/compose.yml) | Media organizer (self-hosted) |
|
||||
| [yt-dlp](services/yt-dlp/compose.yml) | YouTube / video downloader service |
|
||||
| [playlistdl](services/playlistdl/compose.yml) | Playlist download automation |
|
||||
| [invidious](services/invidious/compose.yml) | Privacy-friendly YouTube frontend |
|
||||
| [home-assistant](services/home-assistant/compose.yml) | Home automation platform |
|
||||
| [pihole](services/pihole/compose.yml) | DNS-based ad blocker |
|
||||
| [ankisyncserver](services/ankisyncserver/compose.yml) | Self-hosted Anki flashcard sync server |
|
||||
| [ffsync](services/ffsync/compose.yml) | Firefox Sync server |
|
||||
| [etesync](services/etesync/compose.yml) | Encrypted contacts and calendar sync |
|
||||
| [open-web-calendar](services/open-web-calendar/compose.yml) | Web-based calendar aggregator |
|
||||
| [appflowy](services/appflowy/compose.yml) | Open-source Notion alternative |
|
||||
| [focalboard](services/focalboard/compose.yml) | Project management and Kanban boards |
|
||||
| [todolist](services/todolist/compose.yml) | To-do list service |
|
||||
| [izitdone](services/izitdone/compose.yml) | Task completion tracker |
|
||||
| [moodle](services/moodle/compose.yml) | E-learning platform |
|
||||
| [openedx](services/openedx/compose.yml) | Open edX learning management system |
|
||||
| [frappelms](services/frappelms/compose.yml) | Frappe-based LMS |
|
||||
| [wger](services/wger/compose.yml) | Workout and fitness tracker |
|
||||
| [time-assistant](services/time-assistant/compose.yml) | Time tracking assistant |
|
||||
| [minecraft_bedrock](services/minecraft_bedrock/compose.yml) | Minecraft Bedrock edition server |
|
||||
| [minecraft_champi](services/minecraft_champi/compose.yml) | Custom Minecraft server |
|
||||
| [minecraft_jungle](services/minecraft_jungle/compose.yml) | Custom Minecraft server |
|
||||
| [crafty-controller](services/crafty-controller/compose.yml) | Minecraft server manager |
|
||||
| [mcmyadmin](services/mcmyadmin/compose.yml) | Minecraft server admin panel |
|
||||
| [mc-router](services/mc-router/compose.yml) | Minecraft reverse proxy/router |
|
||||
| [satisfactory](services/satisfactory/compose.yml) | Satisfactory dedicated game server |
|
||||
| [pxe](services/pxe/compose.yml) | PXE boot server for network installs |
|
||||
| [arch](services/arch/compose.yml) | Arch Linux container environment |
|
||||
| [nixos](services/nixos/compose.yml) | NixOS container environment |
|
||||
| [android](services/android/compose.yml) | Android emulator in Docker |
|
||||
| [vnc](services/vnc/compose.yml) | VNC remote desktop server |
|
||||
| [web-terminal](services/web-terminal/compose.yml) | Browser-based terminal (Wetty) |
|
||||
| [rustdesk](services/rustdesk/compose.yml) | Self-hosted remote desktop server |
|
||||
| [sshpiperd](services/sshpiperd/compose.yml) | SSH proxy and multiplexer |
|
||||
| [ipfs](services/ipfs/compose.yml) | IPFS distributed storage node |
|
||||
| [monero-node](services/monero-node/compose.yml) | Monero full node |
|
||||
| [monero-miner](services/monero-miner/compose.yml) | Monero mining setup |
|
||||
| [bisq](services/bisq/compose.yml) | Decentralized Bitcoin exchange |
|
||||
| [cowrie](services/cowrie/compose.yml) | SSH honeypot |
|
||||
| [beef](services/beef/compose.yml) | Browser exploitation framework (pentesting lab) |
|
||||
| [burpsuite](services/burpsuite/compose.yml) | Web security testing proxy |
|
||||
| [feroxbuster](services/feroxbuster/compose.yml) | Web content discovery tool |
|
||||
| [sqlmap](services/sqlmap/compose.yml) | SQL injection testing tool |
|
||||
| [kippo](services/kippo/compose.yml) | SSH honeypot (legacy) |
|
||||
| [duplicati](services/duplicati/compose.yml) | Encrypted cloud backup |
|
||||
| [backrest](services/backrest/compose.yml) | Restic backup management UI |
|
||||
| [airbyte](services/airbyte/compose.yml) | Data integration and ETL platform |
|
||||
| [fuseki](services/fuseki/compose.yml) | Apache Jena Fuseki SPARQL server |
|
||||
| [suitecrm](services/suitecrm/compose.yml) | Open-source CRM |
|
||||
| [wordpress](services/wordpress/compose.yml) | WordPress CMS (multiple instances) |
|
||||
| [resume](services/resume/compose.yml) | Reactive Resume - self-hosted CV builder |
|
||||
| [clipshare](services/clipshare/compose.yml) | Clipboard sharing service |
|
||||
| [webshot](services/webshot/compose.yml) | URL screenshot service |
|
||||
| [fdroid](services/fdroid/compose.yml) | F-Droid self-hosted app repository |
|
||||
| [lrclib](services/lrclib/compose.yml) | Lyrics database service |
|
||||
| [ebook2audiobookxtts](services/ebook2audiobookxtts/compose.yml) | E-book to audiobook converter (TTS) |
|
||||
|
||||
## Reverse Proxy
|
||||
|
||||
Compatible with Traefik, Caddy, and Nginx. Labels are included in each Compose file for automatic route registration.
|
||||
|
||||
```sh
|
||||
# Example: Caddy + WordPress behind reverse proxy
|
||||
docker network create --attachable caddy
|
||||
docker-compose -f services/caddy.yml -f services/wordpress.yml up -d
|
||||
```
|
||||
|
||||
### Links
|
||||
[vpn](https://github.com/kylemanna/docker-openvpn/blob/master/docs/docker-compose.md)
|
||||
## Deployment
|
||||
|
||||
**Run a single service:**
|
||||
```sh
|
||||
docker-compose -f services/<service>/compose.yml up -d
|
||||
```
|
||||
|
||||
**Merge and deploy multiple services at once:**
|
||||
```sh
|
||||
# 1. Select services
|
||||
nvim ./env/vps.txt
|
||||
|
||||
# 2. Generate merged stack
|
||||
./bin/docker-setup.sh merge vps
|
||||
|
||||
# 3. Deploy as a Compose stack
|
||||
docker-compose -f ./stacks/docker-compose.yml up -d
|
||||
|
||||
# or as a Swarm stack
|
||||
docker stack deploy -c ./stack/docker-compose.yml vps
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
- [OpenVPN via Docker](https://github.com/kylemanna/docker-openvpn/blob/master/docs/docker-compose.md)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
3.12
|
||||
+11
-8
@@ -5,10 +5,13 @@ export COMPOSE_PATH_SEPARATOR=":"
|
||||
export COMPOSE_FILE=$(find $PROJECT_PATH/services/*.yml | xargs -I @ echo -n @:)
|
||||
export COMPOSE_FILE=${COMPOSE_FILE::-1}
|
||||
|
||||
# tool=podman-compose
|
||||
tool=docker-compose
|
||||
|
||||
|
||||
if [ "$1" = "-f" ]
|
||||
then
|
||||
docker-compose --file $@
|
||||
$tool --file $@
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -16,10 +19,10 @@ if [ -f $PWD/docker-compose.yml ]
|
||||
then
|
||||
if [ "$#" = 0 ]
|
||||
then
|
||||
docker-compose ps
|
||||
$tool ps
|
||||
exit
|
||||
fi
|
||||
docker-compose --file $PWD/docker-compose.yml $@
|
||||
$tool --file $PWD/docker-compose.yml $@
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -29,19 +32,19 @@ then
|
||||
exit
|
||||
fi
|
||||
|
||||
docker-compose $@
|
||||
$tool $@
|
||||
if [ "$1" = "up" ]
|
||||
then
|
||||
if [ "$2" = "-d" ]
|
||||
then
|
||||
docker-compose logs -f ${@: 3}
|
||||
$tool logs -f ${@: 3}
|
||||
else
|
||||
docker-compose logs -f ${@: 2}
|
||||
$tool logs -f ${@: 2}
|
||||
fi
|
||||
elif [ "$1" = "start" ]
|
||||
then
|
||||
docker-compose logs -f ${@: 2}
|
||||
$tool logs -f ${@: 2}
|
||||
elif [ "$1" = "restart" ]
|
||||
then
|
||||
docker-compose logs -f ${@: 2}
|
||||
$tool logs -f ${@: 2}
|
||||
fi
|
||||
|
||||
+5
-2
@@ -1,8 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
# tool=podman-compose
|
||||
tool="docker compose"
|
||||
|
||||
if [ $1 = merge ]
|
||||
then
|
||||
cat ./env/$2.txt | xargs -I @ echo ./services/@.yml | xargs ./bin/merge.py > ./stacks/docker-compose.yml
|
||||
cat ./env/$2.txt | xargs -I @ echo ./services/@.yml | xargs ./bin/docker-merge.py > ./stacks/docker-compose.yml
|
||||
# export COMPOSE_FILE="$PWD/../docker-compose.yml"
|
||||
exit
|
||||
fi
|
||||
@@ -26,7 +29,7 @@ config_files() {
|
||||
|
||||
if [ -z $STACK ]
|
||||
then
|
||||
cmd="docker compose $(config_files) up -d"
|
||||
cmd="$tool $(config_files) up -d --force-recreate"
|
||||
else
|
||||
cmd="docker stack deploy $(config_files) $STACK"
|
||||
fi
|
||||
|
||||
Executable
+119
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import fire
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
|
||||
def update_env_paths(compose_path, original_base):
|
||||
"""Modifie les chemins env_file vers .env"""
|
||||
try:
|
||||
with open(compose_path, 'r') as f:
|
||||
compose_data = yaml.safe_load(f) or {}
|
||||
except Exception as e:
|
||||
print(f"Erreur lecture YAML: {compose_path} - {str(e)}")
|
||||
return
|
||||
|
||||
modified = False
|
||||
|
||||
if 'services' in compose_data:
|
||||
for srv_name, srv_config in compose_data['services'].items():
|
||||
if 'volumes' in srv_config:
|
||||
volumes = srv_config['volumes']
|
||||
|
||||
for i,volume in enumerate(volumes):
|
||||
if 'data' in volume:
|
||||
volumes[i] = "../" + volume
|
||||
print("volume:", srv_name, volume, "->", volumes[i])
|
||||
|
||||
|
||||
if 'env_file' in srv_config:
|
||||
new_env_files = []
|
||||
env_files = srv_config['env_file']
|
||||
env_files = [env_files] if isinstance(env_files, str) else env_files
|
||||
|
||||
for ef in env_files:
|
||||
file_name = os.path.basename(ef)
|
||||
|
||||
if file_name.startswith(original_base):
|
||||
new_path = ".env"
|
||||
if file_name.endswith(".template.env"):
|
||||
new_path = ".env.template"
|
||||
|
||||
print(f"Modification: {ef} → {new_path}")
|
||||
new_env_files.append(new_path)
|
||||
modified = True
|
||||
else:
|
||||
new_env_files.append(ef)
|
||||
|
||||
srv_config['env_file'] = new_env_files[0] if len(new_env_files) == 1 else new_env_files
|
||||
|
||||
if modified:
|
||||
try:
|
||||
with open(compose_path, 'w') as f:
|
||||
yaml.dump(compose_data, f, sort_keys=False, default_flow_style=False)
|
||||
print(f"✓ Fichier mis à jour avec chemin relatif propre\n")
|
||||
except Exception as e:
|
||||
print(f"Erreur écriture YAML: {compose_path} - {str(e)}")
|
||||
|
||||
def process_compose_files(source, output_dir):
|
||||
"""Convertit les fichiers Docker Compose avec mise à jour des chemins"""
|
||||
for filename in os.listdir(source):
|
||||
if filename.lower().endswith(('.yml', '.yaml')):
|
||||
src_path = os.path.join(source, filename)
|
||||
base_name = os.path.splitext(filename)[0]
|
||||
service_name = re.sub(r'\d+$', '', base_name)
|
||||
|
||||
target_dir = os.path.join(output_dir, service_name)
|
||||
# os.makedirs(target_dir, exist_ok=True)
|
||||
|
||||
dst_path = os.path.join(output_dir, filename, 'compose.yml')
|
||||
# shutil.copy2(src_path, dst_path)
|
||||
|
||||
print(f"\n🔧 Traitement de {filename}:")
|
||||
update_env_paths(dst_path, filename)
|
||||
|
||||
def process_env_files(source, output_dir):
|
||||
"""Convertit les fichiers d'environnement"""
|
||||
for filename in os.listdir(source):
|
||||
src_path = os.path.join(source, filename)
|
||||
target_file = None
|
||||
|
||||
if filename.lower().endswith('.template.env'):
|
||||
base_name = filename[:-len('.template.env')]
|
||||
target_file = '.env.template'
|
||||
elif filename.lower().endswith('.env'):
|
||||
base_name = filename[:-len('.env')]
|
||||
target_file = '.env'
|
||||
else:
|
||||
continue
|
||||
|
||||
service_name = re.sub(r'\d+$', '', base_name)
|
||||
target_dir = os.path.join(output_dir, service_name)
|
||||
os.makedirs(target_dir, exist_ok=True)
|
||||
|
||||
dst_path = os.path.join(target_dir, target_file)
|
||||
shutil.copy2(src_path, dst_path)
|
||||
print(f"Conversion env: {filename} → {dst_path}")
|
||||
|
||||
def main(compose_source, env_source=None, output_dir=None):
|
||||
"""
|
||||
Args:
|
||||
compose_source: Dossier source des compose files
|
||||
env_source: Dossier source des fichiers d'environnement (défaut: compose_source)
|
||||
output_dir: Dossier de sortie (défaut: compose_source)
|
||||
"""
|
||||
output_dir = output_dir or compose_source
|
||||
Path(output_dir).mkdir(parents=True, exist_ok=True)
|
||||
|
||||
print("⏳ Traitement des fichiers docker-compose...")
|
||||
process_compose_files(compose_source, output_dir)
|
||||
|
||||
env_source = env_source or compose_source
|
||||
print("\n⏳ Traitement des fichiers d'environnement...")
|
||||
process_env_files(env_source, output_dir)
|
||||
|
||||
if __name__ == "__main__":
|
||||
fire.Fire(main)
|
||||
@@ -0,0 +1,10 @@
|
||||
[project]
|
||||
name = "bin"
|
||||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
dependencies = [
|
||||
"fire>=0.7.0",
|
||||
"pyyaml>=6.0.2",
|
||||
]
|
||||
Generated
+61
@@ -0,0 +1,61 @@
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[[package]]
|
||||
name = "bin"
|
||||
version = "0.1.0"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "fire" },
|
||||
{ name = "pyyaml" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "fire", specifier = ">=0.7.0" },
|
||||
{ name = "pyyaml", specifier = ">=6.0.2" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fire"
|
||||
version = "0.7.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "termcolor" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/6b/b6/82c7e601d6d3c3278c40b7bd35e17e82aa227f050aa9f66cb7b7fce29471/fire-0.7.0.tar.gz", hash = "sha256:961550f07936eaf65ad1dc8360f2b2bf8408fad46abbfa4d2a3794f8d2a95cdf", size = 87189 }
|
||||
|
||||
[[package]]
|
||||
name = "pyyaml"
|
||||
version = "6.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
|
||||
{ url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
|
||||
{ url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
|
||||
{ url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
|
||||
{ url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
|
||||
{ url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
|
||||
{ url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
|
||||
{ url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
|
||||
{ url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
|
||||
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "3.0.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f8/b6/8e2aaa8aeb570b5cc955cd913b083d96c5447bbe27eaf330dfd7cc8e3329/termcolor-3.0.1.tar.gz", hash = "sha256:a6abd5c6e1284cea2934443ba806e70e5ec8fd2449021be55c280f8a3731b611", size = 12935 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/a6/7e/a574ccd49ad07e8b117407bac361f1e096b01f1b620365daf60ff702c936/termcolor-3.0.1-py3-none-any.whl", hash = "sha256:da1ed4ec8a5dc5b2e17476d859febdb3cccb612be1c36e64511a6f2485c10c69", size = 7157 },
|
||||
]
|
||||
@@ -1 +0,0 @@
|
||||
mail._domainkey.marcpartensky.com marcpartensky.com:mail:/etc/opendkim/keys/marcpartensky.com/mail.private
|
||||
@@ -1 +0,0 @@
|
||||
*@marcpartensky.com mail._domainkey.marcpartensky.com
|
||||
@@ -1,2 +0,0 @@
|
||||
127.0.0.1
|
||||
localhost
|
||||
@@ -1,51 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIJKAIBAAKCAgEAouPk5YPodxb41YBVY4xdeJGRCzUXSrVYUZc2ukE2HqIqWsiv
|
||||
U7vPgBFlclBzMMJVdrt/NAt3NnulzWyQg6V+A8wSYkCNpevGlsp2TvkL8Mcuf1LV
|
||||
GfNScjycJ8nC8LhRgHZZJ876yM97mEK+J4X4k8X1/IWzwUSmOOAB3EpfuQLMVQL8
|
||||
KQh5gyAdvokbnmq+r9VqOyiFbZ03JzyW+RPMTQxMu2kid+KH336/j5Tvza8ITN3v
|
||||
qZRVfZJjJzCJHvx4iKpWy2iOFxNThlUTbnZ93xFEA+36s+pU2hT22RGN8qzSQFBt
|
||||
IXKEqyNJ4KoJ/X53ukYc4ZSmpRAz/PhxX9eIgurUwKXrSwX5127+eCIanRT4aMYS
|
||||
obuue7IGlHixNI4dmZW4H0kMs5MwDItYzNQfmsv7HDjkfsRhBlFpV5LMES1g4L4r
|
||||
WQ85kKcQYfl60FyReCKrrBGiFi9H8iEK5gDIgOFJ37qNa3yLolll31YdkhONsFyr
|
||||
OyGrEAcCzRHOa9jq9KEa5p8QyRekG75aGEfGlRMntkM1KAhdyjuyixle3I7SYywq
|
||||
tqJfjAButWJdvhuPf1jWmqzs97AoJZb2mYzgP/ur9sqHR8EBJ8HN9thRgf4Qsyxp
|
||||
PTO9tOU+4GtT9YSVSGjXHQ0SnPDAj8YxjOql5RDalmiP91NmAeGUfCbLwUkCAwEA
|
||||
AQKCAgBUDv7kYjnomvY2V0+5W4ow2g3blr46U3MMR9h6LYTcMhthVgcEUvs1v8R2
|
||||
RYXsN50a9I8kMHaIqy5Y4BmDljd9hiZGhcGTSiTlU/3Rqzu6OU+JbRmDlsmJIjYD
|
||||
Yl8zEisc+/XuUSWh01CYtniitMQenh3e/rBQoDiXSSIsqETVmNgRVsUB99mdDUnM
|
||||
Nb0G91cILj3v4W1Zr7Pyj5XpW4omiJ5gaFTdQQ2VDDeWxOkrX5QM9sri3CVx88Uv
|
||||
SCC62Nbqz9ySg5Yv2k1UGTs52fQC1UogLQMfLWI0WHU6d5ClFwI5Jkfq5soH9uH9
|
||||
CkK1ijoG6n+k+a01qTLq7Nq09uj+s6T0BFb6703ZATVxdTNxc3xaFcYm9ZpuDnCr
|
||||
U8P6sVClCa9axjMZk1Kjl7OKSyp8LlRWPacxO4GXqlNmhyMUEldKj8cBmmxzC7fj
|
||||
1fMXAve3EodVRM5Z6S+c/PO96TuJrSkddImWhPawd35/rrtBA+7ToPNYzy7aWk/N
|
||||
UZ9uFkwPMLaDZeRG590natPOUkB0FZ7F8EEjwMbUhf1iyoPvLPiixofVk1NKTWMr
|
||||
8DEN6bSH85v/lQaAQhmFFNRjdeyXts9+a7Kmsxos3AfW8hsmNHFxTuoXZ8AjvVAs
|
||||
P7hlPFoJultoUwX/ZpMZtsEwFW3FUSw33Onsdblezp7Lb12icQKCAQEAzVKid6vv
|
||||
TWGltBkL1XTtzYSNUTBIZfoOjKxTsrqSKNAR6i2lmN2bPKKTksPdloBoaQ/FHK6R
|
||||
/+mebfgmnyulY6zWo8EUewi3LFyL9KhXe0K38/jUUokKWSq1Ob5D8Kjq6MuTCfuS
|
||||
M5XnYfIZuIAZLE0244+Q8L03mc2f7uvl3KWaAZOVUsfHu/ETzTm6lgG8Liq5a0Fw
|
||||
thCVVupKVeSLjRa/RWFVR9E9jvIjplo+SVAUJWyYwlOfPDVr76gqrF5P+4lOQpAQ
|
||||
dzwhi4LHhvdgp9Y/Gw3s5vByA/7Ogh3QI5jS36w2EMCFYZpAe4HBQk1UOYVNBpeD
|
||||
58m3venG5pBy4wKCAQEAyxglzQhZSBNkkukoRm7zzmNAx9/M0ROu7uwmJ9t02Q94
|
||||
/3fpV2zVYA7rQKZcCgW5Dnhe4GaeyASRXq4x3v7F6iLCUjxbJ8e+YRhsNrp0WmYU
|
||||
Xk6+06EQgLBICqDQeMDDeR+KQzaJonuMSrGyUb8krR6RB+/W3LqK/0CQSSaHozzN
|
||||
6mxejoFoNhf7rfIP9JJD8QwpBsTJBQNCDvHo1lIA8e3nTngFzLJ56tRVwjaP8EPT
|
||||
qJ7RfoVxdTyUTZTq/8EGOqNrzLgB/FehXq3eTz89tdlHOTT+mJ8H23AEtepxpLFx
|
||||
5kN/eisi4PjUgCp11IHnmG8qnJr48uDlORdrqL424wKCAQBX/DVK+w7NJi8QAjuj
|
||||
+Tt+enLke8BKkuFxPtePG4xOmPtUUsNHwo8naLO8jNqEB/q2Kt/Y7qX5+G6/yTsj
|
||||
slxpXkOMYM0Z/B4ikHYZHZp/Y5PYpKS3yan5k+edGv+aPYiMwc/80yVPnclNm6WR
|
||||
/rLK3TvMQFVoFG2jJw6GH+icqQpZ6phupNXen+xQYZCnf47Yac6TO7PFEU4ttLCu
|
||||
JgX3K+xDGvakk/HBM9o7Cyjt2bcIYoUDoTn3Xx0l0faXbsLvk2NJ+tpTfh0R37UJ
|
||||
DTEKOzFHsqv2OsthEuwDrirnVjHnT7DLdPSzYpqHUo8yjlitXYYocP1BcpuecnOd
|
||||
kgDpAoIBAQCtLi4to8zeFQtR6teZF8t2VlRLG5+/ORWWTnBK1GvTG8qFrW6gSgG5
|
||||
I3+fZTxen3qpyCK/H0KONLbxEYEdMgr6GCGzlhv00/KXQQglsuC8pQcBVAyM0W8N
|
||||
DUShK3gZP+ZvRmHT5pF+p/N9TgFMi71ukf4B0pZZKgiUmC1w8xX+MD82gqouwlJm
|
||||
rhTCwwKv/nlI9qGVUABJ8flGXSm6d7qukbsHwnjPj/E+OUnXjkc3Dd9Sjfr99DRH
|
||||
UBz1+uJYq/Pv1KJ7svyefOrxnTlQQhERG/IL6hCffBxrFh4uMXgug9EoFK6DMn1P
|
||||
cV9i2tIXH56o8UJYwB1Anl1YTYxUG78ZAoIBAD748NDDIj5yxjzW7UzNajLs9iB2
|
||||
aiywcxPZCKo38Yi7KIaxIy8YeHqJ6chenvTl5S4ElB+sJ0SnYEvBqxceOXiM9l5i
|
||||
HrDxIc3gzwY0lN0h2ZEiSKBQgjCtFW6gZ+6KmPonk98S8l8hbFW0vL+nS4EE9vtO
|
||||
3cFhz/HPVB1ZY5ofy7/rLRd7GiISof9WcvrnOvE9BKFF0rNKZUjrf2PM3c2rObvj
|
||||
5rgLvUiX/Mn9ND/XHTjT/UVptmkmcnjFyRvQwXXA4ns7gxBWYfYB1bqwh6WRfEU6
|
||||
x3ykDol24hgohvpEnKMZDUTmLrxgF8hbJTP/57P2Yyy0faxZ/z/MER1qy28=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
@@ -1,4 +0,0 @@
|
||||
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
|
||||
"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAouPk5YPodxb41YBVY4xdeJGRCzUXSrVYUZc2ukE2HqIqWsivU7vPgBFlclBzMMJVdrt/NAt3NnulzWyQg6V+A8wSYkCNpevGlsp2TvkL8Mcuf1LVGfNScjycJ8nC8LhRgHZZJ876yM97mEK+J4X4k8X1/IWzwUSmOOAB3EpfuQLMVQL8KQh5gyAdvokbnmq+r9VqOyiFbZ03Jz"
|
||||
"yW+RPMTQxMu2kid+KH336/j5Tvza8ITN3vqZRVfZJjJzCJHvx4iKpWy2iOFxNThlUTbnZ93xFEA+36s+pU2hT22RGN8qzSQFBtIXKEqyNJ4KoJ/X53ukYc4ZSmpRAz/PhxX9eIgurUwKXrSwX5127+eCIanRT4aMYSobuue7IGlHixNI4dmZW4H0kMs5MwDItYzNQfmsv7HDjkfsRhBlFpV5LMES1g4L4rWQ85kKcQYfl60FyReCKrrBGi"
|
||||
"Fi9H8iEK5gDIgOFJ37qNa3yLolll31YdkhONsFyrOyGrEAcCzRHOa9jq9KEa5p8QyRekG75aGEfGlRMntkM1KAhdyjuyixle3I7SYywqtqJfjAButWJdvhuPf1jWmqzs97AoJZb2mYzgP/ur9sqHR8EBJ8HN9thRgf4QsyxpPTO9tOU+4GtT9YSVSGjXHQ0SnPDAj8YxjOql5RDalmiP91NmAeGUfCbLwUkCAwEAAQ==" ) ; ----- DKIM key mail for marcpartensky.com
|
||||
@@ -1 +0,0 @@
|
||||
marc@marcpartensky.com|{SHA512-CRYPT}$6$G1SLI/9La3kXrkrt$9MdkaLuUEoa2n8mVVZoCwmy0g6MrvlHDL0i2FVrUakAXi3pgPfo/HNz/mLWRFS6nG1oOeP8IMbTGM.JptPR../
|
||||
@@ -0,0 +1,200 @@
|
||||
http:
|
||||
pprof:
|
||||
port: 6060
|
||||
enabled: false
|
||||
address: 0.0.0.0:3000
|
||||
session_ttl: 720h
|
||||
users:
|
||||
- name: marc
|
||||
password: $2a$10$E9cknJr/bTLtSUJ9EaW8r.Gw30FX8Plm8jgq.LaYxMwiX4DEuDK7O
|
||||
auth_attempts: 5
|
||||
block_auth_min: 15
|
||||
http_proxy: ""
|
||||
language: ""
|
||||
theme: auto
|
||||
dns:
|
||||
bind_hosts:
|
||||
- 0.0.0.0
|
||||
port: 53
|
||||
anonymize_client_ip: false
|
||||
ratelimit: 20
|
||||
ratelimit_subnet_len_ipv4: 24
|
||||
ratelimit_subnet_len_ipv6: 56
|
||||
ratelimit_whitelist: []
|
||||
refuse_any: true
|
||||
upstream_dns:
|
||||
- https://dns10.quad9.net/dns-query
|
||||
upstream_dns_file: ""
|
||||
bootstrap_dns:
|
||||
- 9.9.9.10
|
||||
- 149.112.112.10
|
||||
- 2620:fe::10
|
||||
- 2620:fe::fe:10
|
||||
fallback_dns: []
|
||||
upstream_mode: load_balance
|
||||
fastest_timeout: 1s
|
||||
allowed_clients: []
|
||||
disallowed_clients: []
|
||||
blocked_hosts:
|
||||
- version.bind
|
||||
- id.server
|
||||
- hostname.bind
|
||||
trusted_proxies:
|
||||
- 127.0.0.0/8
|
||||
- ::1/128
|
||||
cache_size: 4194304
|
||||
cache_ttl_min: 0
|
||||
cache_ttl_max: 0
|
||||
cache_optimistic: false
|
||||
bogus_nxdomain: []
|
||||
aaaa_disabled: false
|
||||
enable_dnssec: false
|
||||
edns_client_subnet:
|
||||
custom_ip: ""
|
||||
enabled: false
|
||||
use_custom: false
|
||||
max_goroutines: 300
|
||||
handle_ddr: true
|
||||
ipset: []
|
||||
ipset_file: ""
|
||||
bootstrap_prefer_ipv6: false
|
||||
upstream_timeout: 10s
|
||||
private_networks: []
|
||||
use_private_ptr_resolvers: true
|
||||
local_ptr_upstreams: []
|
||||
use_dns64: false
|
||||
dns64_prefixes: []
|
||||
serve_http3: false
|
||||
use_http3_upstreams: false
|
||||
serve_plain_dns: true
|
||||
hostsfile_enabled: true
|
||||
tls:
|
||||
enabled: false
|
||||
server_name: ""
|
||||
force_https: false
|
||||
port_https: 443
|
||||
port_dns_over_tls: 853
|
||||
port_dns_over_quic: 853
|
||||
port_dnscrypt: 0
|
||||
dnscrypt_config_file: ""
|
||||
allow_unencrypted_doh: false
|
||||
certificate_chain: ""
|
||||
private_key: ""
|
||||
certificate_path: ""
|
||||
private_key_path: ""
|
||||
strict_sni_check: false
|
||||
querylog:
|
||||
dir_path: ""
|
||||
ignored: []
|
||||
interval: 2160h
|
||||
size_memory: 1000
|
||||
enabled: true
|
||||
file_enabled: true
|
||||
statistics:
|
||||
dir_path: ""
|
||||
ignored: []
|
||||
interval: 24h
|
||||
enabled: true
|
||||
filters:
|
||||
- enabled: true
|
||||
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
|
||||
name: AdGuard DNS filter
|
||||
id: 1
|
||||
- enabled: true
|
||||
url: https://adaway.org/hosts.txt
|
||||
name: AdAway Default Blocklist
|
||||
id: 2
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
|
||||
name: WindowsSpyBlocker - Hosts spy rules
|
||||
id: 1668812860
|
||||
- enabled: true
|
||||
url: https://malware-filter.gitlab.io/malware-filter/phishing-filter-agh.txt
|
||||
name: Phishing URL Blocklist (PhishTank and OpenPhish)
|
||||
id: 1668812861
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV-AGH.txt
|
||||
name: Perflyst and Dandelion Sprout's Smart-TV Blocklist
|
||||
id: 1668812862
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites/master/hosts
|
||||
name: The Big List of Hacked Malware Web Sites
|
||||
id: 1668812863
|
||||
whitelist_filters: []
|
||||
user_rules: []
|
||||
dhcp:
|
||||
enabled: false
|
||||
interface_name: ""
|
||||
local_domain_name: lan
|
||||
dhcpv4:
|
||||
gateway_ip: ""
|
||||
subnet_mask: ""
|
||||
range_start: ""
|
||||
range_end: ""
|
||||
lease_duration: 86400
|
||||
icmp_timeout_msec: 1000
|
||||
options: []
|
||||
dhcpv6:
|
||||
range_start: ""
|
||||
lease_duration: 86400
|
||||
ra_slaac_only: false
|
||||
ra_allow_slaac: false
|
||||
filtering:
|
||||
blocking_ipv4: ""
|
||||
blocking_ipv6: ""
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: UTC
|
||||
ids: []
|
||||
protection_disabled_until: null
|
||||
safe_search:
|
||||
enabled: false
|
||||
bing: true
|
||||
duckduckgo: true
|
||||
ecosia: true
|
||||
google: true
|
||||
pixabay: true
|
||||
yandex: true
|
||||
youtube: true
|
||||
blocking_mode: default
|
||||
parental_block_host: family-block.dns.adguard.com
|
||||
safebrowsing_block_host: standard-block.dns.adguard.com
|
||||
rewrites:
|
||||
- domain: medium.com
|
||||
answer: 0.0.0.0
|
||||
- domain: marc
|
||||
answer: marcpartensky.com
|
||||
safe_fs_patterns:
|
||||
- /opt/adguardhome/work/data/userfilters/*
|
||||
safebrowsing_cache_size: 1048576
|
||||
safesearch_cache_size: 1048576
|
||||
parental_cache_size: 1048576
|
||||
cache_time: 30
|
||||
filters_update_interval: 24
|
||||
blocked_response_ttl: 10
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: false
|
||||
protection_enabled: true
|
||||
clients:
|
||||
runtime_sources:
|
||||
whois: true
|
||||
arp: true
|
||||
rdns: true
|
||||
dhcp: true
|
||||
hosts: true
|
||||
persistent: []
|
||||
log:
|
||||
enabled: true
|
||||
file: ""
|
||||
max_backups: 0
|
||||
max_size: 100
|
||||
max_age: 3
|
||||
compress: false
|
||||
local_time: false
|
||||
verbose: false
|
||||
os:
|
||||
group: ""
|
||||
user: ""
|
||||
rlimit_nofile: 0
|
||||
schema_version: 29
|
||||
@@ -0,0 +1,156 @@
|
||||
# Minimal nginx configuration for AppFlowy-Cloud
|
||||
# Self Hosted AppFlowy Cloud user should alter this file to suit their needs
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# docker dns resolver
|
||||
resolver 127.0.0.11 valid=10s;
|
||||
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
|
||||
# https://github.com/nginxinc/nginx-prometheus-exporter
|
||||
location = /stub_status {
|
||||
stub_status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
server {
|
||||
# ssl_certificate /etc/nginx/ssl/certificate.crt;
|
||||
#ssl_certificate_key /etc/nginx/ssl/private_key.key;
|
||||
|
||||
listen 80;
|
||||
listen 443 ssl;
|
||||
client_max_body_size 10M;
|
||||
|
||||
underscores_in_headers on;
|
||||
|
||||
# GoTrue
|
||||
location /gotrue/ {
|
||||
set $gotrue gotrue;
|
||||
proxy_pass http://$gotrue:9999;
|
||||
|
||||
rewrite ^/gotrue(/.*)$ $1 break;
|
||||
|
||||
# Allow headers like redirect_to to be handed over to the gotrue
|
||||
# for correct redirecting
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_pass_request_headers on;
|
||||
}
|
||||
|
||||
# WebSocket
|
||||
location /ws {
|
||||
set $appflowy_cloud appflowy_cloud;
|
||||
proxy_pass http://$appflowy_cloud:8000;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_read_timeout 86400;
|
||||
}
|
||||
|
||||
# AppFlowy-Cloud
|
||||
# created a separate location block for handling CORS preflight (OPTIONS) requests specifically for the /api endpoint.
|
||||
location = /api/options {
|
||||
if ($http_origin ~* (http://127.0.0.1:8000)) {
|
||||
add_header 'Access-Control-Allow-Origin' $http_origin;
|
||||
}
|
||||
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, PATCH';
|
||||
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, Accept, Client-Version';
|
||||
add_header 'Access-Control-Max-Age' 3600;
|
||||
add_header 'Content-Type' 'text/plain; charset=utf-8';
|
||||
add_header 'Content-Length' 0;
|
||||
return 204;
|
||||
}
|
||||
|
||||
location /api {
|
||||
set $appflowy_cloud appflowy_cloud;
|
||||
proxy_pass http://$appflowy_cloud:8000;
|
||||
|
||||
proxy_set_header X-Request-Id $request_id;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# Set CORS headers for other requests
|
||||
if ($http_origin ~* (http://127.0.0.1:8000)) {
|
||||
add_header 'Access-Control-Allow-Origin' $http_origin always;
|
||||
}
|
||||
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH' always;
|
||||
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, Accept, Client-Version' always;
|
||||
add_header 'Access-Control-Max-Age' 3600 always;
|
||||
}
|
||||
|
||||
# Minio Web UI
|
||||
# Derive from: https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html
|
||||
# Optional Module, comment this section if you are did not deploy minio in docker-compose.yml
|
||||
location /minio/ {
|
||||
set $minio minio;
|
||||
proxy_pass http://$minio:9001;
|
||||
|
||||
rewrite ^/minio/(.*) /$1 break;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-NginX-Proxy true;
|
||||
|
||||
## This is necessary to pass the correct IP to be hashed
|
||||
real_ip_header X-Real-IP;
|
||||
|
||||
proxy_connect_timeout 300;
|
||||
|
||||
## To support websockets in MinIO versions released after January 2023
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)
|
||||
# Uncomment the following line to set the Origin request to an empty string
|
||||
# proxy_set_header Origin '';
|
||||
|
||||
chunked_transfer_encoding off;
|
||||
}
|
||||
|
||||
# PgAdmin
|
||||
# Optional Module, comment this section if you are did not deploy pgadmin in docker-compose.yml
|
||||
location /pgadmin/ {
|
||||
set $pgadmin pgadmin;
|
||||
proxy_pass http://$pgadmin:80;
|
||||
|
||||
proxy_set_header X-Script-Name /pgadmin;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header Host $host;
|
||||
proxy_redirect off;
|
||||
}
|
||||
|
||||
# Portainer
|
||||
# Optional Module, comment this section if you are did not deploy portainer in docker-compose.yml
|
||||
location /portainer/ {
|
||||
set $portainer portainer;
|
||||
proxy_pass http://$portainer:9000;
|
||||
|
||||
rewrite ^/portainer/(.*) /$1 break;
|
||||
}
|
||||
|
||||
# Admin Frontend
|
||||
# Optional Module, comment this section if you are did not deploy admin_frontend in docker-compose.yml
|
||||
location / {
|
||||
set $admin_frontend admin_frontend;
|
||||
proxy_pass http://$admin_frontend:3000;
|
||||
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header Host $host;
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
-6
@@ -1,15 +1,29 @@
|
||||
# first caddyfile
|
||||
|
||||
test.marcpartensky.com {
|
||||
redir https://caddyserver.com/docs/caddyfile/patterns
|
||||
{
|
||||
security {
|
||||
authorization policy marc {
|
||||
set auth url https://gate.marcpartensky.com/
|
||||
crypto key verify {env.JWT_SECRET}
|
||||
allow roles authp/admin authp/user
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
authent.marcpartensky.com {
|
||||
reverse_proxy authentik:9443 {
|
||||
tls internal
|
||||
}
|
||||
marc.wf {
|
||||
redir https://marcpartensky.com/{uri}
|
||||
}
|
||||
|
||||
marc.tf {
|
||||
redir https://marcpartensky.com{uri}
|
||||
}
|
||||
|
||||
# authent.marcpartensky.com {
|
||||
# reverse_proxy authentik:9443 {
|
||||
# tls internal
|
||||
# }
|
||||
# }
|
||||
|
||||
# healthcheck
|
||||
# :8080 {
|
||||
# status 200 /
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,173 +0,0 @@
|
||||
# vim:ft=yaml
|
||||
|
||||
## TLS ##
|
||||
|
||||
# {% if not SYNAPSE_NO_TLS %}
|
||||
|
||||
# tls_certificate_path: "/data/{{ SYNAPSE_SERVER_NAME }}.tls.crt"
|
||||
# tls_private_key_path: "/data/{{ SYNAPSE_SERVER_NAME }}.tls.key"
|
||||
|
||||
# {% endif %}
|
||||
|
||||
## Server ##
|
||||
|
||||
server_name: "matrix.marcpartensky.com"
|
||||
pid_file: /homeserver.pid
|
||||
web_client: False
|
||||
soft_file_limit: 0
|
||||
# log_config: "{{ SYNAPSE_LOG_CONFIG }}"
|
||||
|
||||
## Ports ##
|
||||
|
||||
listeners:
|
||||
# Allow configuring in case we want to reverse proxy 8008
|
||||
# using another process in the same container
|
||||
- port: 8008
|
||||
tls: false
|
||||
bind_addresses: ['::']
|
||||
type: http
|
||||
x_forwarded: false
|
||||
|
||||
resources:
|
||||
- names: [client]
|
||||
compress: true
|
||||
- names: [federation]
|
||||
compress: false
|
||||
|
||||
## Database ##
|
||||
|
||||
# {% if POSTGRES_PASSWORD %}
|
||||
# database:
|
||||
# name: "psycopg2"
|
||||
# args:
|
||||
# user: "{{ POSTGRES_USER or "synapse" }}"
|
||||
# password: "{{ POSTGRES_PASSWORD }}"
|
||||
# database: "{{ POSTGRES_DB or "synapse" }}"
|
||||
# host: "{{ POSTGRES_HOST or "db" }}"
|
||||
# port: "{{ POSTGRES_PORT or "5432" }}"
|
||||
# cp_min: 5
|
||||
# cp_max: 10
|
||||
# {% else %}
|
||||
# database:
|
||||
# name: "sqlite3"
|
||||
# args:
|
||||
# database: "/data/homeserver.db"
|
||||
# {% endif %}
|
||||
|
||||
## Performance ##
|
||||
|
||||
event_cache_size: "10K"
|
||||
|
||||
## Ratelimiting ##
|
||||
|
||||
rc_messages_per_second: 0.2
|
||||
rc_message_burst_count: 10.0
|
||||
federation_rc_window_size: 1000
|
||||
federation_rc_sleep_limit: 10
|
||||
federation_rc_sleep_delay: 500
|
||||
federation_rc_reject_limit: 50
|
||||
federation_rc_concurrent: 3
|
||||
|
||||
## Files ##
|
||||
|
||||
media_store_path: "/data/media"
|
||||
max_upload_size: "50M"
|
||||
max_image_pixels: "32M"
|
||||
dynamic_thumbnails: false
|
||||
|
||||
# List of thumbnail to precalculate when an image is uploaded.
|
||||
thumbnail_sizes:
|
||||
- width: 32
|
||||
height: 32
|
||||
method: crop
|
||||
- width: 96
|
||||
height: 96
|
||||
method: crop
|
||||
- width: 320
|
||||
height: 240
|
||||
method: scale
|
||||
- width: 640
|
||||
height: 480
|
||||
method: scale
|
||||
- width: 800
|
||||
height: 600
|
||||
method: scale
|
||||
|
||||
url_preview_enabled: False
|
||||
max_spider_size: "10M"
|
||||
|
||||
## Captcha ##
|
||||
|
||||
# {% if SYNAPSE_RECAPTCHA_PUBLIC_KEY %}
|
||||
# recaptcha_public_key: "{{ SYNAPSE_RECAPTCHA_PUBLIC_KEY }}"
|
||||
# recaptcha_private_key: "{{ SYNAPSE_RECAPTCHA_PRIVATE_KEY }}"
|
||||
# enable_registration_captcha: True
|
||||
# recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify"
|
||||
# {% else %}
|
||||
# recaptcha_public_key: "YOUR_PUBLIC_KEY"
|
||||
# recaptcha_private_key: "YOUR_PRIVATE_KEY"
|
||||
enable_registration_captcha: False
|
||||
recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify"
|
||||
# {% endif %}
|
||||
|
||||
## Turn ##
|
||||
|
||||
# {% if SYNAPSE_TURN_URIS %}
|
||||
# turn_uris:
|
||||
# {% for uri in SYNAPSE_TURN_URIS.split(',') %} - "{{ uri }}"
|
||||
# {% endfor %}
|
||||
# turn_shared_secret: "{{ SYNAPSE_TURN_SECRET }}"
|
||||
# turn_user_lifetime: "1h"
|
||||
# turn_allow_guests: True
|
||||
# {% else %}
|
||||
turn_uris: []
|
||||
turn_shared_secret: "marcsecret"
|
||||
turn_user_lifetime: "1h"
|
||||
turn_allow_guests: True
|
||||
# {% endif %}
|
||||
|
||||
## Registration ##
|
||||
|
||||
enable_registration: "True"
|
||||
registration_shared_secret: "marcregistrationsecret"
|
||||
bcrypt_rounds: 12
|
||||
allow_guest_access: "True"
|
||||
enable_group_creation: true
|
||||
|
||||
|
||||
## Metrics ###
|
||||
|
||||
# {% if SYNAPSE_REPORT_STATS.lower() == "yes" %}
|
||||
# enable_metrics: True
|
||||
# report_stats: True
|
||||
# {% else %}
|
||||
enable_metrics: False
|
||||
report_stats: False
|
||||
# {% endif %}
|
||||
|
||||
## API Configuration ##
|
||||
|
||||
# {% if SYNAPSE_APPSERVICES %}
|
||||
app_service_config_files:
|
||||
- "discord-registration.yaml"
|
||||
# {% for appservice in SYNAPSE_APPSERVICES %} - "{{ appservice }}"
|
||||
# {% endfor %}
|
||||
# {% endif %}
|
||||
|
||||
macaroon_secret_key: "marcmacaronsecret"
|
||||
expire_access_token: False
|
||||
|
||||
## Signing Keys ##
|
||||
|
||||
# signing_key_path: "/data/matrix.marcpartensky.com.signing.key"
|
||||
old_signing_keys: {}
|
||||
key_refresh_interval: "1d" # 1 Day.
|
||||
|
||||
# The trusted servers to download signing keys from.
|
||||
trusted_key_servers:
|
||||
- server_name: matrix.org
|
||||
verify_keys:
|
||||
"ed25519:auto": "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"
|
||||
|
||||
password_config:
|
||||
enabled: true
|
||||
@@ -0,0 +1,35 @@
|
||||
[ req ]
|
||||
default_bits = 8192
|
||||
default_keyfile = privkey.pem
|
||||
distinguished_name = req_distinguished_name
|
||||
attributes = req_attributes
|
||||
x509_extensions = v3_ca
|
||||
|
||||
dirstring_type = nobmp
|
||||
|
||||
[ req_distinguished_name ]
|
||||
countryName = FR
|
||||
countryName_default = FR
|
||||
countryName_min = 2
|
||||
countryName_max = 2
|
||||
|
||||
localityName = Europe/Paris
|
||||
|
||||
organizationalUnitName = Marc Partensky Corp
|
||||
|
||||
commonName = Marc Partensky
|
||||
commonName_max = 64
|
||||
|
||||
emailAddress = marc@marcpartensky.com
|
||||
emailAddress_max = 40
|
||||
|
||||
# [ req_attributes ]
|
||||
# challengePassword = A challenge password
|
||||
# challengePassword_min = 4
|
||||
# challengePassword_max = 20
|
||||
|
||||
[ v3_ca ]
|
||||
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints = CA:true
|
||||
@@ -0,0 +1,40 @@
|
||||
# Pi-hole: A black hole for Internet advertisements
|
||||
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||
# Network-wide ad blocking via your own hardware.
|
||||
#
|
||||
# Dnsmasq config for Pi-hole's FTLDNS
|
||||
#
|
||||
# This file is copyright under the latest version of the EUPL.
|
||||
# Please see LICENSE file for your rights under this license.
|
||||
|
||||
###############################################################################
|
||||
# FILE AUTOMATICALLY POPULATED BY PI-HOLE INSTALL/UPDATE PROCEDURE. #
|
||||
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
|
||||
# #
|
||||
# IF YOU WISH TO CHANGE THE UPSTREAM SERVERS, CHANGE THEM IN: #
|
||||
# /etc/pihole/setupVars.conf #
|
||||
# #
|
||||
# ANY OTHER CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE #
|
||||
# WITHIN /etc/dnsmasq.d/yourname.conf #
|
||||
###############################################################################
|
||||
|
||||
addn-hosts=/etc/pihole/local.list
|
||||
addn-hosts=/etc/pihole/custom.list
|
||||
|
||||
|
||||
localise-queries
|
||||
|
||||
|
||||
no-resolv
|
||||
|
||||
|
||||
|
||||
cache-size=10000
|
||||
|
||||
log-queries
|
||||
log-facility=/var/log/pihole.log
|
||||
|
||||
log-async
|
||||
server=8.8.8.8
|
||||
server=8.8.4.4
|
||||
interface=eth0
|
||||
@@ -0,0 +1,42 @@
|
||||
# Pi-hole: A black hole for Internet advertisements
|
||||
# (c) 2021 Pi-hole, LLC (https://pi-hole.net)
|
||||
# Network-wide ad blocking via your own hardware.
|
||||
#
|
||||
# RFC 6761 config file for Pi-hole
|
||||
#
|
||||
# This file is copyright under the latest version of the EUPL.
|
||||
# Please see LICENSE file for your rights under this license.
|
||||
|
||||
###############################################################################
|
||||
# FILE AUTOMATICALLY POPULATED BY PI-HOLE INSTALL/UPDATE PROCEDURE. #
|
||||
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
|
||||
# #
|
||||
# CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE #
|
||||
# WITHIN /etc/dnsmasq.d/yourname.conf #
|
||||
###############################################################################
|
||||
|
||||
# RFC 6761: Caching DNS servers SHOULD recognize
|
||||
# test, localhost, invalid
|
||||
# names as special and SHOULD NOT attempt to look up NS records for them, or
|
||||
# otherwise query authoritative DNS servers in an attempt to resolve these
|
||||
# names.
|
||||
server=/test/
|
||||
server=/localhost/
|
||||
server=/invalid/
|
||||
|
||||
# The same RFC requests something similar for
|
||||
# 10.in-addr.arpa. 21.172.in-addr.arpa. 27.172.in-addr.arpa.
|
||||
# 16.172.in-addr.arpa. 22.172.in-addr.arpa. 28.172.in-addr.arpa.
|
||||
# 17.172.in-addr.arpa. 23.172.in-addr.arpa. 29.172.in-addr.arpa.
|
||||
# 18.172.in-addr.arpa. 24.172.in-addr.arpa. 30.172.in-addr.arpa.
|
||||
# 19.172.in-addr.arpa. 25.172.in-addr.arpa. 31.172.in-addr.arpa.
|
||||
# 20.172.in-addr.arpa. 26.172.in-addr.arpa. 168.192.in-addr.arpa.
|
||||
# Pi-hole implements this via the dnsmasq option "bogus-priv" (see
|
||||
# 01-pihole.conf) because this also covers IPv6.
|
||||
|
||||
# OpenWRT furthermore blocks bind, local, onion domains
|
||||
# see https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=package/network/services/dnsmasq/files/rfc6761.conf;hb=HEAD
|
||||
# and https://www.iana.org/assignments/special-use-domain-names/special-use-domain-names.xhtml
|
||||
# We do not include the ".local" rule ourselves, see https://github.com/pi-hole/pi-hole/pull/4282#discussion_r689112972
|
||||
server=/bind/
|
||||
server=/onion/
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER marc PASSWORD ZGQ4ZDk5OWEwYjNlMDJlNmQ5NmE1NjM5;
|
||||
GRANT ALL PRIVILEGES ON DATABASE * TO marc;
|
||||
EOSQL
|
||||
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /var/lib/postgresql/certs
|
||||
|
||||
# private key and certificate from it
|
||||
openssl req -new -text -newkey rsa:8192 -passout pass:$POSTGRES_PASSWORD -subj /CN=localhost -out server.req -keyout privkey.pem
|
||||
# self signed root certificate
|
||||
openssl rsa -in privkey.pem -passin pass:$POSTGRES_PASSWORD -out server.key
|
||||
# derived certificate
|
||||
openssl req -x509 -in server.req -text -key server.key -out server.crt
|
||||
|
||||
# change permissions to the root certificate for postgres
|
||||
chmod 600 server.key
|
||||
chown postgres:postgres server.key
|
||||
@@ -1,19 +1,34 @@
|
||||
global:
|
||||
scrape_interval: 15s # By default, scrape targets every 15 seconds.
|
||||
evaluation_interval: 15s
|
||||
|
||||
# Attach these labels to any time series or alerts when communicating with
|
||||
# external systems (federation, remote storage, Alertmanager).
|
||||
external_labels:
|
||||
monitor: 'codelab-monitor'
|
||||
|
||||
rule_files:
|
||||
# Fichier de règle
|
||||
- 'alert.rules'
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
||||
- job_name: 'prometheus'
|
||||
|
||||
# Override the global default and scrape targets from this job every 5 seconds.
|
||||
scrape_interval: 5s
|
||||
|
||||
static_configs:
|
||||
- targets: ['localhost:9090']
|
||||
- targets: ['node-exporter:9100']
|
||||
|
||||
- job_name: cadvisor
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets:
|
||||
- cadvisor:8080
|
||||
|
||||
- job_name: 'traefik'
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ['traefik:3000']
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# This file only contains Docker relevant variables.## The only exception to the non-default rule are env vars related to scaling.## See https://github.com/airbytehq/airbyte/blob/master/airbyte-config/config-models/src/main/java/io/airbyte/config/Configs.java# for the latest environment variables.## # Contributors - please organise this env file according to the above linked file.
|
||||
|
||||
### SHARED ###VERSION= # Example: 0.50.5
|
||||
|
||||
# When using the airbyte-db via default docker imageCONFIG_ROOT= # Example: /data
|
||||
DATA_DOCKER_MOUNT= # Example: airbyte_data
|
||||
DB_DOCKER_MOUNT= # Example: airbyte_db
|
||||
|
||||
# Workspace storage for running jobs (logs, etc)WORKSPACE_ROOT= # Example: /tmp/workspace
|
||||
WORKSPACE_DOCKER_MOUNT= # Example: airbyte_workspace
|
||||
|
||||
# Local mount to access local files from filesystem# todo (cgardens) - when we are mount raw directories instead of named volumes, *_DOCKER_MOUNT must# be the same as *_ROOT.# Issue: https://github.com/airbytehq/airbyte/issues/578LOCAL_ROOT= # Example: /tmp/airbyte_local
|
||||
LOCAL_DOCKER_MOUNT= # Example: /tmp/airbyte_local
|
||||
# todo (cgardens) - hack to handle behavior change in docker compose. *_PARENT directories MUST# already exist on the host filesystem and MUST be parents of *_ROOT.# Issue: https://github.com/airbytehq/airbyte/issues/577HACK_LOCAL_ROOT_PARENT= # Example: /tmp
|
||||
|
||||
# Proxy Configuration# Set to empty values, e.g. "" to disable basic authBASIC_AUTH_USERNAME= # Example: username
|
||||
BASIC_AUTH_PASSWORD= # Example: Passw0rd
|
||||
BASIC_AUTH_PROXY_TIMEOUT= # Example: 900
|
||||
|
||||
### DATABASE ###DATABASE_USER= # Example: username
|
||||
DATABASE_PASSWORD= # Example: Passw0rd
|
||||
DATABASE_HOST= # Example: db
|
||||
DATABASE_PORT= # Example: 5432
|
||||
DATABASE_DB= # Example: airbyte
|
||||
DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
JOBS_DATABASE_MINIMUM_FLYWAY_MIGRATION_VERSION= # Example: 0.40.26.001
|
||||
|
||||
# Airbyte Internal Config Database, defaults to Job Database if empty. Explicitly left empty to mute docker compose warnings.CONFIG_DATABASE_USER= # Example: username
|
||||
CONFIG_DATABASE_PASSWORD= # Example: Passw0rd
|
||||
CONFIG_DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
CONFIGS_DATABASE_MINIMUM_FLYWAY_MIGRATION_VERSION= # Example: 0.40.23.002
|
||||
|
||||
### AIRBYTE SERVICES ###TEMPORAL_HOST= # Example: airbyte-temporal:7233
|
||||
INTERNAL_API_HOST= # Example: airbyte-server:8001
|
||||
CONNECTOR_BUILDER_API_HOST= # Example: airbyte-connector-builder-server:80
|
||||
WEBAPP_URL= # Example: protocol://user:password@host:port/path
|
||||
# Although not present as an env var, required for webapp configuration.CONNECTOR_BUILDER_API_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
### JOBS #### Relevant to scaling.SYNC_JOB_MAX_ATTEMPTS= # Example: 3
|
||||
SYNC_JOB_MAX_TIMEOUT_DAYS= # Example: 3
|
||||
SYNC_JOB_INIT_RETRY_TIMEOUT_MINUTES= # Example: 5
|
||||
JOB_MAIN_CONTAINER_CPU_REQUEST=
|
||||
JOB_MAIN_CONTAINER_CPU_LIMIT=
|
||||
JOB_MAIN_CONTAINER_MEMORY_REQUEST=
|
||||
JOB_MAIN_CONTAINER_MEMORY_LIMIT=
|
||||
|
||||
NORMALIZATION_JOB_MAIN_CONTAINER_MEMORY_LIMIT=
|
||||
NORMALIZATION_JOB_MAIN_CONTAINER_MEMORY_REQUEST=
|
||||
NORMALIZATION_JOB_MAIN_CONTAINER_CPU_LIMIT=
|
||||
NORMALIZATION_JOB_MAIN_CONTAINER_CPU_REQUEST=
|
||||
|
||||
### LOGGING/MONITORING/TRACKING ###TRACKING_STRATEGY= # Example: segment
|
||||
JOB_ERROR_REPORTING_STRATEGY= # Example: logging
|
||||
# Although not present as an env var, expected by Log4J configuration.LOG_LEVEL= # Example: INFO
|
||||
|
||||
|
||||
### APPLICATIONS #### Worker #WORKERS_MICRONAUT_ENVIRONMENTS= # Example: control-plane
|
||||
# Cron #CRON_MICRONAUT_ENVIRONMENTS= # Example: control-plane
|
||||
# Relevant to scaling.MAX_SYNC_WORKERS= # Example: 5
|
||||
MAX_SPEC_WORKERS= # Example: 5
|
||||
MAX_CHECK_WORKERS= # Example: 5
|
||||
MAX_DISCOVER_WORKERS= # Example: 5
|
||||
MAX_NOTIFY_WORKERS= # Example: 5
|
||||
SHOULD_RUN_NOTIFY_WORKFLOWS= # Example: true
|
||||
# Temporal Activity configurationACTIVITY_MAX_ATTEMPT=
|
||||
ACTIVITY_INITIAL_DELAY_BETWEEN_ATTEMPTS_SECONDS=
|
||||
ACTIVITY_MAX_DELAY_BETWEEN_ATTEMPTS_SECONDS=
|
||||
WORKFLOW_FAILURE_RESTART_DELAY_SECONDS=
|
||||
|
||||
### FEATURE FLAGS ###AUTO_DISABLE_FAILING_CONNECTIONS= # Example: false
|
||||
|
||||
FEATURE_FLAG_CLIENT= # Example: myhiddensecret
|
||||
|
||||
### MONITORING FLAGS #### Accepted values are datadog and otel (open telemetry)METRIC_CLIENT= # Example: myhiddensecret
|
||||
OTEL_COLLECTOR_ENDPOINT= # Example: "http://host.docker.internal:4317"
|
||||
|
||||
USE_STREAM_CAPABLE_STATE= # Example: true
|
||||
AUTO_DETECT_SCHEMA= # Example: true
|
||||
|
||||
# To test local catalog changes, set the below variable to the path of your local catalog.# https://docs.airbyte.com/connector-development/testing-connectors/testing-a-local-catalog-in-developmentLOCAL_CONNECTOR_CATALOG_PATH=
|
||||
@@ -0,0 +1,57 @@
|
||||
MINIO_BROWSER_REDIRECT_URL= # Example: protocol://user:password@host:port/path
|
||||
MINIO_ROOT_USER= # Example: username
|
||||
MINIO_ROOT_PASSWORD= # Example: Passw0rd
|
||||
|
||||
GOTRUE_SITE_URL= # Example: protocol://user:password@host:port/path
|
||||
URI_ALLOW_LIST= # Example: protocol://user:password@host:port/path
|
||||
GOTRUE_JWT_SECRET= # Example: myhiddensecret
|
||||
GOTRUE_JWT_EXP= # Example: ${GOTRUE_JWT_EXP}
|
||||
GOTRUE_DB_DRIVER= # Example: postgres
|
||||
API_EXTERNAL_URL= # Example: protocol://user:password@host:port/path
|
||||
DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
PORT= # Example: 9999
|
||||
|
||||
GOTRUE_SMTP_HOST= # Example: ${GOTRUE_SMTP_HOST}
|
||||
GOTRUE_SMTP_PORT= # Example: ${GOTRUE_SMTP_PORT}
|
||||
GOTRUE_SMTP_USER= # Example: username
|
||||
GOTRUE_SMTP_PASS= # Example: Passw0rd
|
||||
|
||||
GOTRUE_MAILER_URLPATHS_CONFIRMATION= # Example: protocol://user:password@host:port/path
|
||||
GOTRUE_MAILER_URLPATHS_INVITE= # Example: protocol://user:password@host:port/path
|
||||
GOTRUE_MAILER_URLPATHS_RECOVERY= # Example: protocol://user:password@host:port/path
|
||||
GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE= # Example: protocol://user:password@host:port/path
|
||||
GOTRUE_SMTP_ADMIN_EMAIL= # Example: user.name@gmail.com
|
||||
GOTRUE_SMTP_MAX_FREQUENCY= # Example: ${GOTRUE_SMTP_MAX_FREQUENCY:-1ns}
|
||||
GOTRUE_MAILER_AUTOCONFIRM= # Example: user.name@gmail.com
|
||||
# Google OAuth configGOTRUE_EXTERNAL_GOOGLE_ENABLED= # Example: ${GOTRUE_EXTERNAL_GOOGLE_ENABLED}
|
||||
GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID= # Example: myhiddenid
|
||||
GOTRUE_EXTERNAL_GOOGLE_SECRET= # Example: myhiddensecret
|
||||
GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI= # Example: protocol://user:password@host:port/path
|
||||
# GITHUB OAuth configGOTRUE_EXTERNAL_GITHUB_ENABLED= # Example: ${GOTRUE_EXTERNAL_GITHUB_ENABLED}
|
||||
GOTRUE_EXTERNAL_GITHUB_CLIENT_ID= # Example: myhiddenid
|
||||
GOTRUE_EXTERNAL_GITHUB_SECRET= # Example: myhiddensecret
|
||||
GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI= # Example: protocol://user:password@host:port/path
|
||||
# Discord OAuth configGOTRUE_EXTERNAL_DISCORD_ENABLED= # Example: ${GOTRUE_EXTERNAL_DISCORD_ENABLED}
|
||||
GOTRUE_EXTERNAL_DISCORD_CLIENT_ID= # Example: myhiddenid
|
||||
GOTRUE_EXTERNAL_DISCORD_SECRET= # Example: myhiddensecret
|
||||
GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI= # Example: protocol://user:password@host:port/path
|
||||
|
||||
RUST_LOG= # Example: info
|
||||
APPFLOWY_ENVIRONMENT= # Example: production
|
||||
APPFLOWY_DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
APPFLOWY_REDIS_URI= # Example: protocol://user:password@host:port/path
|
||||
APPFLOWY_GOTRUE_JWT_SECRET= # Example: myhiddensecret
|
||||
APPFLOWY_GOTRUE_JWT_EXP= # Example: ${GOTRUE_JWT_EXP}
|
||||
APPFLOWY_GOTRUE_BASE_URL= # Example: protocol://user:password@host:port/path
|
||||
APPFLOWY_GOTRUE_EXT_URL= # Example: protocol://user:password@host:port/path
|
||||
APPFLOWY_GOTRUE_ADMIN_EMAIL= # Example: user.name@gmail.com
|
||||
APPFLOWY_GOTRUE_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
APPFLOWY_S3_USE_MINIO= # Example: ${APPFLOWY_S3_USE_MINIO}
|
||||
APPFLOWY_S3_MINIO_URL= # Example: protocol://user:password@host:port/path
|
||||
APPFLOWY_S3_ACCESS_KEY= # Example: myhiddenkey
|
||||
APPFLOWY_S3_SECRET_KEY= # Example: myhiddenkey
|
||||
APPFLOWY_S3_BUCKET= # Example: ${APPFLOWY_S3_BUCKET}
|
||||
APPFLOWY_S3_REGION= # Example: ${APPFLOWY_S3_REGION}
|
||||
RUST_LOG= # Example: info
|
||||
ADMIN_FRONTEND_REDIS_URL= # Example: protocol://user:password@host:port/path
|
||||
ADMIN_FRONTEND_GOTRUE_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
apprise_config_dir= # Example: /config
|
||||
apprise_attach_dir= # Example: /attach
|
||||
# apprise_stateful_mode=apprise_config_lock= # Example: no
|
||||
# apprise_deny_services=# apprise_allow_services=allowed_hosts= # Example: *
|
||||
apprise_recursion_max= # Example: 1
|
||||
# apprise_worker_count=base_url= # Example: protocol://user:password@host:port/path
|
||||
log_level= # Example: DEBUG
|
||||
debug= # Example: yes
|
||||
@@ -0,0 +1,23 @@
|
||||
AUTHENTIK_POSTGRESQL__HOST= # Example: postgres
|
||||
AUTHENTIK_POSTGRESQL__NAME= # Example: authentik
|
||||
AUTHENTIK_POSTGRESQL__USER= # Example: username
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD= # Example: Passw0rd
|
||||
AUTHENTIK_DEBUG= # Example: true
|
||||
PG_PASS= # Example: Passw0rd
|
||||
AUTHENTIK_REDIS__HOST= # Example: redis
|
||||
AUTHENTIK_SECRET_KEY= # Example: myhiddenkey
|
||||
AUTHENTIK_EMAIL__HOST= # Example: user.name@gmail.com
|
||||
AUTHENTIK_EMAIL__PORT= # Example: user.name@gmail.com
|
||||
AUTHENTIK_EMAIL__USERNAME= # Example: user.name@gmail.com
|
||||
AUTHENTIK_EMAIL__PASSWORD= # Example: Passw0rd
|
||||
# # Use StartTLSAUTHENTIK_EMAIL__USE_TLS= # Example: user.name@gmail.com
|
||||
# # Use SSLAUTHENTIK_EMAIL__FROM= # Example: user.name@gmail.com
|
||||
AK_ADMIN_PASS= # Example: Passw0rd
|
||||
AUTHENTIK_LISTEN__HTTP= # Example: 0.0.0.0:80
|
||||
AUTHENTIK_LISTEN__HTTPS= # Example: 0.0.0.0:443
|
||||
AUTHENTIK_LISTEN__LDAP= # Example: 0.0.0.0:389
|
||||
AUTHENTIK_LISTEN__LDAPS= # Example: 0.0.0.0:636
|
||||
|
||||
AUTHENTIK_HOST= # Example: http://authentik
|
||||
AUTHENTIK_INSECURE= # Example: true
|
||||
AUTHENTIK_TOKEN= # Example: myhiddentoken
|
||||
@@ -0,0 +1,3 @@
|
||||
AUTHENTIK_LISTEN__LDAP= # Example: 0.0.0.0:389
|
||||
AUTHENTIK_LISTEN__LDAPS= # Example: 0.0.0.0:636
|
||||
AUTHENTIK_TOKEN= # Example: myhiddentoken
|
||||
@@ -0,0 +1,15 @@
|
||||
PUID= # Example: myhiddenid
|
||||
PGID= # Example: myhiddenid
|
||||
TZ= # Example: Etc/UTC
|
||||
|
||||
APP_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
APP_KEY= # Example: myhiddenkey
|
||||
|
||||
DB_CONNECTION= # Example: postgresql
|
||||
DB_HOST= # Example: postgres
|
||||
DB_PORT= # Example: 5432
|
||||
DB_DATABASE= # Example: bookstack
|
||||
DB_USERNAME= # Example: username
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
WORDPRESS_DB_HOST= # Example: business_mysql
|
||||
WORDPRESS_DB_NAME= # Example: business
|
||||
WORDPRESS_DB_USER= # Example: username
|
||||
WORDPRESS_DB_PASSWORD= # Example: Passw0rd
|
||||
# WORDPRESS_TABLE_PREFIX=...MYSQL_DATABASE= # Example: business
|
||||
MYSQL_USER= # Example: username
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_RANDOM_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,9 @@
|
||||
TUNNEL_TOKEN= # Example: myhiddentoken
|
||||
CLOUDFLARED_TOKEN= # Example: myhiddentoken
|
||||
CLOUDFLARE_API_TOKEN= # Example: myhiddentoken
|
||||
CLOUDFLARE_ACCOUNT_ID= # Example: myhiddenid
|
||||
CLOUDFLARE_TUNNEL_ID= # Example: myhiddenid
|
||||
CLOUDFLARE_ZONE_ID= # Example: myhiddenid
|
||||
# DOMAIN_NAME=traefik.marcpartensky.comTRAEFIK_API_ENDPOINT= # Example: http://traefik:8080
|
||||
TRAEFIK_SERVICE_ENDPOINT= # Example: http://traefik:80
|
||||
TRAEFIK_ENTRYPOINT= # Example: web
|
||||
@@ -0,0 +1,35 @@
|
||||
DISCORD_PREFIX= # Example: .
|
||||
DISCORD_TOKEN= # Example: myhiddentoken
|
||||
DISCORD_CLIENT_ID= # Example: myhiddenid
|
||||
DISCORD_MONGO_CLUSTER= # Example: discord-cluster-5ckni.mongodb.net/test
|
||||
DISCORD_MONGO_USERNAME= # Example: username
|
||||
DISCORD_MONGO_PASSWORD= # Example: Passw0rd
|
||||
# DISCORD_MONGO_CLUSTER=discord_bot_mongo/testWOLFRAM_ALPHA_ID= # Example: myhiddenid
|
||||
FACEBOOK_MAIL= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_2= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_2= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_MISCORD= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_MISCORD= # Example: Passw0rd
|
||||
MISCORD_DASHBOARD_USERNAME= # Example: username
|
||||
MISCORD_DASHBOARD_PASSWORD= # Example: Passw0rd
|
||||
PYGITHUB_TOKEN= # Example: myhiddentoken
|
||||
GITHUB_TOKEN= # Example: myhiddentoken
|
||||
CAPTCHA_WEBSITE_KEY= # Example: myhiddenkey
|
||||
CAPTCHA_SECRET_KEY= # Example: myhiddenkey
|
||||
LEEKWARS_USERNAME= # Example: username
|
||||
BRAWLSTARS_ID= # Example: myhiddenid
|
||||
BRAWLSTARS_MAIL= # Example: user.name@gmail.com
|
||||
BRAWLSTARS_PASSWORD= # Example: Passw0rd
|
||||
BRAWLSTARS_TOKEN= # Example: myhiddentoken
|
||||
DOCKER_API_URL= # Example: protocol://user:password@host:port/path
|
||||
DISCORD_BOT_HOST= # Example: 0.0.0.0
|
||||
DISCORD_BOT_PORT= # Example: 8000
|
||||
SHORTENER_URL= # Example: protocol://user:password@host:port/path
|
||||
IALAB_URL= # Example: protocol://user:password@host:port/path
|
||||
POSTGRES_DB= # Example: website
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_HOST= # Example: postgres
|
||||
POSTGRES_PORT= # Example: 5432
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
CHANNEL_ID_NOTIF= # Example: myhiddenid
|
||||
@@ -0,0 +1,2 @@
|
||||
MONGO_INITDB_ROOT_USERNAME= # Example: username
|
||||
MONGO_INITDB_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,3 @@
|
||||
ME_CONFIG_BASICAUTH_USERNAME= # Example: username
|
||||
ME_CONFIG_BASICAUTH_PASSWORD= # Example: Passw0rd
|
||||
ME_CONFIG_MONGODB_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,3 @@
|
||||
DISCORD_TOKEN= # Example: myhiddentoken
|
||||
OPENAI_EMAIL= # Example: user.name@gmail.com
|
||||
OPENAI_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,26 @@
|
||||
DJANKISERV_MAINDB_ENGINE= # Example: django.db.backends.postgresql
|
||||
DJANKISERV_MAINDB_NAME= # Example: djankiserv
|
||||
DJANKISERV_MAINDB_USER= # Example: username
|
||||
DJANKISERV_MAINDB_PASSWORD= # Example: Passw0rd
|
||||
DJANKISERV_MAINDB_HOST= # Example: postgres
|
||||
DJANKISERV_MAINDB_PORT= # Example: 5432
|
||||
|
||||
DJANKISERV_USERDB_ENGINE= # Example: username
|
||||
DJANKISERV_USERDB_NAME= # Example: username
|
||||
DJANKISERV_USERDB_USER= # Example: username
|
||||
DJANKISERV_USERDB_PASSWORD= # Example: Passw0rd
|
||||
DJANKISERV_USERDB_HOST= # Example: username
|
||||
DJANKISERV_USERDB_PORT= # Example: username
|
||||
|
||||
HOST= # Example: 0.0.0.0
|
||||
PORT= # Example: 8000
|
||||
|
||||
DJANKISERV_DEBUG= # Example: True
|
||||
# DJANKISERV_DATA_ROOT=/code/dataDJANKISERV_SECRET_KEY= # Example: myhiddenkey
|
||||
# DJANKISERV_ALLOWED_HOSTS='djankiserv.marcpartensky.com'DJANKISERV_ALLOWED_HOSTS= # Example: "*"
|
||||
DJANKISERV_HOSTS= # Example: djankiserv
|
||||
DJANGO_DEBUG= # Example: 1
|
||||
# DJANGO_ALLOWED_HOSTS="*,localhost"# ALLOWED_HOSTS="*,localhost"ALLOWED_HOSTS= # Example: *
|
||||
DJANGO_SETTINGS_MODULE= # Example: djankiserv_api.settings
|
||||
PYTHON_APP= # Example: /app/src
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
NODE_ENV= # Example: docker
|
||||
ADMIN_NAME= # Example: marc
|
||||
ADMIN_PASSWORD= # Example: Passw0rd
|
||||
JWT_SECRET= # Example: myhiddensecret
|
||||
DB_HOST= # Example: postgres
|
||||
DB_USER= # Example: username
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
DB_NAME= # Example: dockerdash
|
||||
@@ -0,0 +1,28 @@
|
||||
DISCORD_PREFIX= # Example: .
|
||||
DISCORD_TOKEN= # Example: myhiddentoken
|
||||
DISCORD_CLIENT_ID= # Example: myhiddenid
|
||||
# DISCORD_MONGO_CLUSTER=discord-cluster-5ckni.mongodb.net/testDISCORD_MONGO_USERNAME= # Example: username
|
||||
DISCORD_MONGO_CLUSTER= # Example: discord_bot_mongo
|
||||
DISCORD_MONGO_PASSWORD= # Example: Passw0rd
|
||||
WOLFRAM_ALPHA_ID= # Example: myhiddenid
|
||||
FACEBOOK_MAIL= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_2= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_2= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_MISCORD= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_MISCORD= # Example: Passw0rd
|
||||
MISCORD_DASHBOARD_USERNAME= # Example: username
|
||||
MISCORD_DASHBOARD_PASSWORD= # Example: Passw0rd
|
||||
PYGITHUB_TOKEN= # Example: myhiddentoken
|
||||
GITHUB_TOKEN= # Example: myhiddentoken
|
||||
CAPTCHA_WEBSITE_KEY= # Example: myhiddenkey
|
||||
CAPTCHA_SECRET_KEY= # Example: myhiddenkey
|
||||
LEEKWARS_USERNAME= # Example: username
|
||||
BRAWLSTARS_ID= # Example: myhiddenid
|
||||
BRAWLSTARS_MAIL= # Example: user.name@gmail.com
|
||||
BRAWLSTARS_PASSWORD= # Example: Passw0rd
|
||||
BRAWLSTARS_TOKEN= # Example: myhiddentoken
|
||||
DOCKER_API_URL= # Example: protocol://user:password@host:port/path
|
||||
DISCORD_BOT_HOST= # Example: 0.0.0.0
|
||||
DISCORD_BOT_PORT= # Example: 8000
|
||||
SHORTENER_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,13 @@
|
||||
DB_ENGINE= # Example: postgres
|
||||
DATABASE_NAME= # Example: etesync
|
||||
DATABASE_USER= # Example: username
|
||||
DATABASE_HOST= # Example: postgres
|
||||
DATABASE_PASSWORD= # Example: Passw0rd
|
||||
DATABASE_PORT= # Example: 5432
|
||||
SUPER_USER= # Example: username
|
||||
SUPER_PASS= # Example: Passw0rd
|
||||
SUPER_EMAIL= # Example: user.name@gmail.com
|
||||
SECRET_KEY= # Example: myhiddenkey
|
||||
DEBUG= # Example: False
|
||||
AUTO_UPDATE= # Example: true
|
||||
# ALLOWED_HOSTS=etesync.marcpartensky.fr,etesync.marcpartensky.comALLOWED_HOSTS= # Example: etesync.marcpartensky.fr
|
||||
@@ -0,0 +1,14 @@
|
||||
ADMIN_PASSWORD= # Example: Passw0rd
|
||||
DB_TYPE= # Example: postgres
|
||||
DB_USER= # Example: username
|
||||
DB_HOST= # Example: postgres
|
||||
DB_PORT= # Example: 5432
|
||||
DB_PASS= # Example: Passw0rd
|
||||
DB_NAME= # Example: etherpad
|
||||
DB_CHARSET= # Example: utf8mb4
|
||||
# REQUIRE_AUTHENTICATION=trueREQUIRE_AUTHENTICATION= # Example: false
|
||||
|
||||
# ne marche pasSSO_ISSUER= # Example: https://authentik.marcpartensky.com
|
||||
ADMIN_CLIENT= # Example: myhiddensecret
|
||||
ADMIN_SECRET= # Example: myhiddensecret
|
||||
COMMIT_RATE_LIMIT_POINTS= # Example: 150
|
||||
@@ -0,0 +1,12 @@
|
||||
TZ= # Example: Europe/Paris
|
||||
|
||||
F2B_LOG_TARGET= # Example: STDOUT
|
||||
F2B_LOG_LEVEL= # Example: INFO
|
||||
F2B_DB_PURGE_AGE= # Example: 1d
|
||||
|
||||
SSMTP_HOST= # Example: smtp.gmail.com
|
||||
SSMTP_PORT= # Example: 587
|
||||
SSMTP_HOSTNAME= # Example: gmail.com
|
||||
SSMTP_USER= # Example: username
|
||||
SSMTP_PASSWORD= # Example: Passw0rd
|
||||
SSMTP_TLS= # Example: YES
|
||||
@@ -0,0 +1,6 @@
|
||||
SYNCSERVER_PUBLIC_URL= # Example: protocol://user:password@host:port/path
|
||||
SYNCSERVER_SECRET= # Example: myhiddensecret
|
||||
SYNCSERVER_SQLURI= # Example: protocol://user:password@host:port/path
|
||||
SYNCSERVER_BATCH_UPLOAD_ENABLED= # Example: true
|
||||
SYNCSERVER_FORCE_WSGI_ENVIRON= # Example: false
|
||||
PORT= # Example: 5000
|
||||
@@ -0,0 +1 @@
|
||||
MYSQL_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1 @@
|
||||
ADMIN_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,8 @@
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
POSTGRES_DB= # Example: gitea
|
||||
GITEA__database__TYPE= # Example: postgres
|
||||
GITEA__database__HOST= # Example: postgres
|
||||
GITEA__database__NAME= # Example: gitea
|
||||
GITEA__database__USER= # Example: username
|
||||
GITEA__database__PASSWD= # Example: Passw0rd
|
||||
@@ -0,0 +1,7 @@
|
||||
# SERVER_COUNTRIES: France# WireguardVPN_TYPE= # Example: 0.0.0.0
|
||||
VPN_SERVICE_PROVIDER= # Example: myhiddenid
|
||||
VPN_ENDPOINT_IP= # Example: 0.0.0.0
|
||||
VPN_ENDPOINT_PORT= # Example: 0.0.0.0
|
||||
WIREGUARD_PUBLIC_KEY= # Example: myhiddenkey
|
||||
WIREGUARD_PRIVATE_KEY= # Example: myhiddenkey
|
||||
WIREGUARD_ADDRESSES= # Example: 192.168.6.78/32
|
||||
@@ -0,0 +1,40 @@
|
||||
GF_INSTALL_PLUGINS= # Example: grafana-mqtt-datasource,redis-datasource,cloudflare-app
|
||||
|
||||
GF_SERVER_ROOT_URL= # Example: protocol://user:password@host:port/path
|
||||
GF_SERVER_DOMAIN= # Example: grafana.marcpartensky.com
|
||||
GF_SECURITY_ALLOW_EMBEDDING= # Example: protocol://user:password@host:port/path
|
||||
GF_AUTH_ANONYMOUS_ENABLED= # Example: True
|
||||
|
||||
# GF_SERVER_SERVE_FROM_SUB_PATH=false# GF_SERVER_ENFORCE_DOMAIN=true# GF_REVERSE_PROXY_HEADERS_X_FORWARDED_PROTO=true# GF_REVERSE_PROXY_HEADER_X_FORWARDED_HOST=true
|
||||
|
||||
# PostgresGF_DATABASE_TYPE= # Example: postgres
|
||||
GF_DATABASE_HOST= # Example: postgres
|
||||
GF_DATABASE_NAME= # Example: grafana
|
||||
GF_DATABASE_USER= # Example: username
|
||||
GF_DATABASE_PASSWORD= # Example: Passw0rd
|
||||
GF_DATABASE_SSL_MODE= # Example: disable
|
||||
|
||||
GF_AUTH_GENERIC_OAUTH_ENABLED= # Example: true
|
||||
GF_AUTH_OAUTH_AUTO_LOGIN= # Example: true
|
||||
GF_AUTH_GENERIC_OAUTH_NAME= # Example: Authentik
|
||||
GF_AUTH_GENERIC_OAUTH_CLIENT_ID= # Example: myhiddenid
|
||||
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET= # Example: myhiddensecret
|
||||
GF_AUTH_GENERIC_OAUTH_SCOPES= # Example: openid profile email
|
||||
GF_AUTH_GENERIC_OAUTH_AUTH_URL= # Example: protocol://user:password@host:port/path
|
||||
GF_AUTH_GENERIC_OAUTH_TOKEN_URL= # Example: myhiddentoken
|
||||
GF_AUTH_GENERIC_OAUTH_API_URL= # Example: protocol://user:password@host:port/path
|
||||
GF_AUTH_SIGNOUT_REDIRECT_URL= # Example: protocol://user:password@host:port/path
|
||||
GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH= # Example: "contains(groups, 'Grafana Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor' || 'Viewer'"
|
||||
|
||||
|
||||
|
||||
# # Enable LDAP# GF_AUTH_LDAP_ENABLED=true
|
||||
# # LDAP Server Configuration# GF_AUTH_LDAP_CONFIG_SERVERS_0_HOST=ldap# GF_AUTH_LDAP_CONFIG_SERVERS_0_PORT=389# GF_AUTH_LDAP_CONFIG_SERVERS_0_USE_SSL=false
|
||||
# # Bind Credentials# GF_AUTH_LDAP_CONFIG_SERVERS_0_BIND_DN=cn=ldapservice,dc=ldap,dc=goauthentik,dc=io
|
||||
# GF_AUTH_LDAP_CONFIG_SERVERS_0_SEARCH_FILTER=(cn=%s)# GF_AUTH_LDAP_CONFIG_SERVERS_0_SEARCH_BASE_DNS=dc=ldap,dc=goauthentik,dc=io
|
||||
|
||||
|
||||
|
||||
|
||||
# # Group Mapping# - GF_AUTH_LDAP_CONFIG_SERVERS_0_GROUP_MAPPINGS_0_GROUP_DN=cn=admins,ou=groups,dc=example,dc=com# - GF_AUTH_LDAP_CONFIG_SERVERS_0_GROUP_MAPPINGS_0_ORG_ROLE=Admin# - GF_AUTH_LDAP_CONFIG_SERVERS_0_GROUP_MAPPINGS_1_GROUP_DN=cn=editors,ou=groups,dc=example,dc=com# - GF_AUTH_LDAP_CONFIG_SERVERS_0_GROUP_MAPPINGS_1_ORG_ROLE=Editor
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
DB_NAME= # Example: brainperformer
|
||||
DB_USER= # Example: username
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
DB_HOST= # Example: 0.0.0.0
|
||||
RECAPTCHA_SECRET_KEY= # Example: myhiddenkey
|
||||
MAIL= # Example: user.name@gmail.com
|
||||
MAIL_PASSWORD= # Example: Passw0rd
|
||||
|
||||
MYSQL_DATABASE= # Example: brainperformer
|
||||
MYSQL_USER= # Example: username
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_ROOT_HOST= # Example: 0.0.0.0
|
||||
MYSQL_RANDOM_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,3 @@
|
||||
ACCOUNT_EMAIL= # Example: user.name@gmail.com
|
||||
ACCOUNT_PASSWORD= # Example: Passw0rd
|
||||
DEVICE_NAME= # Example: vps
|
||||
@@ -0,0 +1,29 @@
|
||||
DISCORD_PREFIX= # Example: .
|
||||
DISCORD_TOKEN= # Example: myhiddentoken
|
||||
DISCORD_CLIENT_ID= # Example: myhiddenid
|
||||
DISCORD_MONGO_CLUSTER= # Example: discord-cluster-5ckni.mongodb.net/test
|
||||
DISCORD_MONGO_USERNAME= # Example: username
|
||||
DISCORD_MONGO_PASSWORD= # Example: Passw0rd
|
||||
# DISCORD_MONGO_CLUSTER=discord_bot_mongo/testWOLFRAM_ALPHA_ID= # Example: myhiddenid
|
||||
FACEBOOK_MAIL= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_2= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_2= # Example: Passw0rd
|
||||
FACEBOOK_MAIL_MISCORD= # Example: user.name@gmail.com
|
||||
FACEBOOK_PASSWORD_MISCORD= # Example: Passw0rd
|
||||
MISCORD_DASHBOARD_USERNAME= # Example: username
|
||||
MISCORD_DASHBOARD_PASSWORD= # Example: Passw0rd
|
||||
PYGITHUB_TOKEN= # Example: myhiddentoken
|
||||
GITHUB_TOKEN= # Example: myhiddentoken
|
||||
CAPTCHA_WEBSITE_KEY= # Example: myhiddenkey
|
||||
CAPTCHA_SECRET_KEY= # Example: myhiddenkey
|
||||
LEEKWARS_USERNAME= # Example: username
|
||||
BRAWLSTARS_ID= # Example: myhiddenid
|
||||
BRAWLSTARS_MAIL= # Example: user.name@gmail.com
|
||||
BRAWLSTARS_PASSWORD= # Example: Passw0rd
|
||||
BRAWLSTARS_TOKEN= # Example: myhiddentoken
|
||||
DOCKER_API_URL= # Example: protocol://user:password@host:port/path
|
||||
DISCORD_BOT_HOST= # Example: 0.0.0.0
|
||||
DISCORD_BOT_PORT= # Example: 8000
|
||||
SHORTENER_URL= # Example: protocol://user:password@host:port/path
|
||||
IALAB_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,2 @@
|
||||
KEYCLOAK_ADMIN= # Example: myhiddenkey
|
||||
KEYCLOAK_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,2 @@
|
||||
LDAP_ADMIN_BIND_PWD= # Example: Passw0rd
|
||||
LDAP_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,2 @@
|
||||
LDAP_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
LDAP_CONFIG_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,122 @@
|
||||
# mariadbMYSQL_ROOT_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_DATABASE= # Example: mailcow
|
||||
MYSQL_USER= # Example: username
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_INITDB_SKIP_TZINFO= # Example: 0.0.0.0
|
||||
|
||||
# ------------------------------# ------------------------------
|
||||
MAILCOW_HOSTNAME= # Example: user.name@gmail.com
|
||||
|
||||
MAILCOW_PASS_SCHEME= # Example: Passw0rd
|
||||
|
||||
# ------------------------------# SQL database configuration# ------------------------------
|
||||
DBNAME= # Example: mailcow
|
||||
DBUSER= # Example: username
|
||||
|
||||
# Please use long, random alphanumeric strings (A-Za-z0-9)
|
||||
DBPASS= # Example: Passw0rd
|
||||
DBROOT= # Example: 8v5tSifRaAjLRVObkRbe1F0qjm11
|
||||
|
||||
# ------------------------------# HTTP/S Bindings# ------------------------------
|
||||
# You should use HTTPS, but in case of SSL offloaded reverse proxies:# Might be important: This will also change the binding within the container.# If you use a proxy within Docker, point it to the ports you set below.# IMPORTANT: Do not use port 8081, 9081 or 65510!# Example: HTTP_BIND=1.2.3.4
|
||||
HTTP_PORT= # Example: 80
|
||||
HTTP_BIND=
|
||||
|
||||
HTTPS_PORT= # Example: 443
|
||||
HTTPS_BIND=
|
||||
|
||||
# ------------------------------# Other bindings# ------------------------------# You should leave that alone# Format: 11.22.33.44:25 or 12.34.56.78:465 etc.
|
||||
SMTP_PORT= # Example: 25
|
||||
SMTPS_PORT= # Example: 465
|
||||
SUBMISSION_PORT= # Example: 587
|
||||
IMAP_PORT= # Example: 143
|
||||
IMAPS_PORT= # Example: 993
|
||||
POP_PORT= # Example: 110
|
||||
POPS_PORT= # Example: 995
|
||||
SIEVE_PORT= # Example: 4190
|
||||
DOVEADM_PORT= # Example: 127.0.0.1:19991
|
||||
SQL_PORT= # Example: 127.0.0.1:13306
|
||||
SOLR_PORT= # Example: 127.0.0.1:18983
|
||||
REDIS_PORT= # Example: 127.0.0.1:7654
|
||||
|
||||
# Your timezone# Use the row named 'TZ database name' + pay attention for 'Notes' row
|
||||
TZ= # Example: Europe/Paris
|
||||
|
||||
# Fixed project name# Please use lowercase letters only
|
||||
COMPOSE_PROJECT_NAME= # Example: mailcow
|
||||
|
||||
ACL_ANYONE= # Example: disallow
|
||||
|
||||
# Garbage collector cleanup# How long should objects remain in the garbage until they are being deleted? (value in minutes)
|
||||
MAILDIR_GC_TIME= # Example: user.name@gmail.com
|
||||
|
||||
# Additional SAN for the certificate##ADDITIONAL_SAN=imap.*,smtp.*# This will expand the certificate to "imap.example.com", "smtp.example.com", "imap.example.net", "smtp.example.net"# plus every domain you add in the future.## You can also just add static names...#ADDITIONAL_SAN=srv1.example.net# ...or combine wildcard and static names:#ADDITIONAL_SAN=imap.*,srv1.example.com#
|
||||
ADDITIONAL_SAN= # Example: marcpartensky.com
|
||||
|
||||
## You can understand this as server_name directive in Nginx.# Comma separated list without spaces! Example: ADDITIONAL_SERVER_NAMES=a.b.c,d.e.f
|
||||
ADDITIONAL_SERVER_NAMES=
|
||||
|
||||
|
||||
SKIP_LETS_ENCRYPT= # Example: 0.0.0.0
|
||||
|
||||
# Create seperate certificates for all domains - y/nENABLE_SSL_SNI= # Example: n
|
||||
|
||||
|
||||
SKIP_IP_CHECK= # Example: 0.0.0.0
|
||||
|
||||
|
||||
SKIP_HTTP_VERIFICATION= # Example: 0.0.0.0
|
||||
|
||||
|
||||
SKIP_CLAMD= # Example: 0.0.0.0
|
||||
|
||||
|
||||
SKIP_SOGO= # Example: 0.0.0.0
|
||||
|
||||
|
||||
SKIP_SOLR= # Example: 0.0.0.0
|
||||
|
||||
# Solr heap size in MB, there is no recommendation, please see Solr docs.# Solr is a prone to run OOM and should be monitored. Unmonitored Solr setups are not recommended.
|
||||
SOLR_HEAP= # Example: 1024
|
||||
|
||||
|
||||
ALLOW_ADMIN_EMAIL_LOGIN= # Example: user.name@gmail.com
|
||||
|
||||
|
||||
USE_WATCHDOG= # Example: y
|
||||
|
||||
# CAUTION:
|
||||
|
||||
WATCHDOG_NOTIFY_BAN= # Example: n
|
||||
|
||||
#WATCHDOG_SUBJECT=
|
||||
# No data is collected. Opt-in and anonymous.WATCHDOG_EXTERNAL_CHECKS= # Example: n
|
||||
|
||||
# Enable watchdog verbose loggingWATCHDOG_VERBOSE= # Example: n
|
||||
|
||||
# Max log lines per service to keep in Redis logs
|
||||
LOG_LINES= # Example: 9999
|
||||
|
||||
|
||||
IPV4_NETWORK= # Example: 0.0.0.0
|
||||
|
||||
|
||||
IPV6_NETWORK= # Example: 0.0.0.0
|
||||
|
||||
|
||||
#SNAT_TO_SOURCE=
|
||||
|
||||
#SNAT6_TO_SOURCE=
|
||||
|
||||
#API_ALLOW_FROM=172.22.1.1,127.0.0.1
|
||||
MAILDIR_SUB= # Example: user.name@gmail.com
|
||||
|
||||
# SOGo session timeout in minutesSOGO_EXPIRE_SESSION= # Example: 480
|
||||
|
||||
# LEAVE EMPTY IF UNSUREDOVECOT_MASTER_USER= # Example: username
|
||||
# LEAVE EMPTY IF UNSUREDOVECOT_MASTER_PASS= # Example: Passw0rd
|
||||
|
||||
# Let's Encrypt registration contact information# Optional: Leave empty for none# This value is only used on first order!# Setting it at a later point will require the following steps:ACME_CONTACT=
|
||||
|
||||
# WebAuthn device manufacturer verification# After setting WEBAUTHN_ONLY_TRUSTED_VENDORS=y only devices from trusted manufacturers are allowedWEBAUTHN_ONLY_TRUSTED_VENDORS= # Example: n
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
MINIO_ROOT_USER= # Example: username
|
||||
MINIO_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,8 @@
|
||||
NODE_ENV= # Example: docker
|
||||
ADMIN_NAME= # Example: marc
|
||||
ADMIN_PASSWORD= # Example: Passw0rd
|
||||
JWT_SECRET= # Example: myhiddensecret
|
||||
DB_HOST= # Example: postgres
|
||||
DB_USER= # Example: username
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
DB_NAME= # Example: dockerdash
|
||||
@@ -0,0 +1 @@
|
||||
WALLET= # Example: 43J2XmRtjDPRLD35UsYGH2AZamFBQz7dt4VdvZXVm3SuadTrvcoXUXBRUNHqukFte23Q5TWXqhbwaLJJgoVQzzbe2AJDANQ
|
||||
@@ -0,0 +1,2 @@
|
||||
MONGO_INITDB_ROOT_USERNAME= # Example: username
|
||||
MONGO_INITDB_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,7 @@
|
||||
MONGODB_HOST= # Example: mongo
|
||||
MONGODB_PORT= # Example: 27017
|
||||
MONGODB_USER= # Example: username
|
||||
MONGODB_PASS= # Example: Passw0rd
|
||||
CRON_TIME= # Example: "0 5 * * *"
|
||||
INIT_BACKUP= # Example: 1
|
||||
# MAX_BACKUPS the number of backups to keep. When reaching the limit, the old backup will be discarded. No limit, by default
|
||||
@@ -0,0 +1,3 @@
|
||||
ME_CONFIG_MONGODB_URL= # Example: protocol://user:password@host:port/path
|
||||
ME_CONFIG_AUTH_USERNAME= # Example: username
|
||||
ME_CONFIG_AUTH_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1 @@
|
||||
PBM_MONGODB_URI= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,27 @@
|
||||
N8N_HOST= # Example: 0.0.0.0
|
||||
N8N_PORT= # Example: 5678
|
||||
WEBHOOK_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
DB_TYPE= # Example: postgresdb
|
||||
DB_POSTGRESDB_HOST= # Example: postgres
|
||||
DB_POSTGRESDB_PORT= # Example: 5432
|
||||
DB_POSTGRESDB_DATABASE= # Example: n8n
|
||||
DB_POSTGRESDB_USER= # Example: username
|
||||
DB_POSTGRESDB_PASSWORD= # Example: Passw0rd
|
||||
GENERIC_TIMEZONE= # Example: Europe/Paris
|
||||
TZ= # Example: Europe/Paris
|
||||
|
||||
N8N_DIAGNOSTICS_ENABLED= # Example: false
|
||||
N8N_VERSION_NOTIFICATIONS_ENABLED= # Example: false
|
||||
N8N_TEMPLATES_ENABLED= # Example: false
|
||||
|
||||
N8N_BASIC_AUTH_ACTIVE= # Example: false
|
||||
|
||||
# N8N_PROTOCOL=${N8N_PROTOCOL}
|
||||
EXECUTIONS_MODE= # Example: queue
|
||||
QUEUE_BULL_REDIS_HOST= # Example: redis
|
||||
QUEUE_HEALTH_CHECK_ACTIVE= # Example: true
|
||||
|
||||
N8N_ENCRYPTION_KEY= # Example: myhiddenkey
|
||||
|
||||
N8N_RUNNERS_ENABLED= # Example: true
|
||||
@@ -0,0 +1,5 @@
|
||||
POSTGRES_ROOT_PASSWORD= # Example: Passw0rd
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
POSTGRES_DATABASE= # Example: nextcloud
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_HOST= # Example: postgres
|
||||
@@ -0,0 +1 @@
|
||||
NC_DB= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,52 @@
|
||||
APP_NAME= # Example: "Numéris ISEP"
|
||||
APP_ENV= # Example: production
|
||||
APP_KEY= # Example: myhiddenkey
|
||||
APP_DEBUG= # Example: false
|
||||
APP_URL= # Example: protocol://user:password@host:port/path
|
||||
FRONT_APP_URL= # Example: protocol://user:password@host:port/path
|
||||
production= # Example: 1
|
||||
|
||||
LOG_CHANNEL= # Example: stack
|
||||
|
||||
DB_CONNECTION= # Example: mysql
|
||||
DB_HOST= # Example: numeris_mysql
|
||||
DB_PORT= # Example: 3306
|
||||
DB_DATABASE= # Example: numeris
|
||||
DB_USERNAME= # Example: username
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_ROOT_PASSWORD= # Example: Passw0rd
|
||||
PMA_HOST= # Example: numeris_mysql
|
||||
PMA_USER= # Example: username
|
||||
PMA_PASSWORD= # Example: Passw0rd
|
||||
|
||||
BROADCAST_DRIVER= # Example: log
|
||||
CACHE_DRIVER= # Example: file
|
||||
SESSION_DRIVER= # Example: file
|
||||
SESSION_LIFETIME= # Example: 120
|
||||
QUEUE_DRIVER= # Example: sync
|
||||
|
||||
REDIS_HOST= # Example: 127.0.0.1
|
||||
REDIS_PASSWORD= # Example: Passw0rd
|
||||
REDIS_PORT= # Example: 6379
|
||||
|
||||
MAIL_DRIVER= # Example: user.name@gmail.com
|
||||
MAIL_HOST= # Example: user.name@gmail.com
|
||||
MAIL_PORT= # Example: user.name@gmail.com
|
||||
MAIL_USERNAME= # Example: user.name@gmail.com
|
||||
MAIL_PASSWORD= # Example: Passw0rd
|
||||
MAIL_ENCRYPTION= # Example: user.name@gmail.com
|
||||
MAIL_FROM_ADDRESS= # Example: user.name@gmail.com
|
||||
MAIL_FROM_NAME= # Example: user.name@gmail.com
|
||||
|
||||
PUSHER_APP_ID= # Example: myhiddenid
|
||||
PUSHER_APP_KEY= # Example: myhiddenkey
|
||||
PUSHER_APP_SECRET= # Example: myhiddensecret
|
||||
PUSHER_APP_CLUSTER= # Example: mt1
|
||||
|
||||
MIX_PUSHER_APP_KEY= # Example: myhiddenkey
|
||||
MIX_PUSHER_APP_CLUSTER= # Example: "${PUSHER_APP_CLUSTER}"
|
||||
|
||||
JWT_SECRET= # Example: myhiddensecret
|
||||
|
||||
GOOGLE_RECAPTCHA_KEY= # Example: myhiddenkey
|
||||
GOOGLE_RECAPTCHA_SECRET= # Example: myhiddensecret
|
||||
@@ -0,0 +1,4 @@
|
||||
LDAP_ADMIN_USERNAME= # Example: username
|
||||
LDAP_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
LDAP_USERS= # Example: username
|
||||
LDAP_PASSWORDS= # Example: Passw0rd
|
||||
@@ -0,0 +1 @@
|
||||
VPN= # Example: 0.0.0.0
|
||||
@@ -0,0 +1,122 @@
|
||||
# –––––––––––––––– REQUIRED ––––––––––––––––
|
||||
NODE_ENV= # Example: production
|
||||
|
||||
# in your terminal to generate a random value.SECRET_KEY= # Example: myhiddenkey
|
||||
|
||||
# `openssl rand -hex 32` in your terminal to produce this.UTILS_SECRET= # Example: myhiddensecret
|
||||
|
||||
# For production point these at your databases, in development the default# should work out of the box.DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
DATABASE_CONNECTION_POOL_MIN=
|
||||
DATABASE_CONNECTION_POOL_MAX=
|
||||
# Uncomment this to disable SSL for connecting to PostgresPGSSLMODE= # Example: disable
|
||||
|
||||
REDIS_URL= # Example: protocol://user:password@host:port/path
|
||||
# use a base64 encoded JSON connection option object. Refer to the ioredis documentation# for a list of available options.# Example: Use Redis Sentinel for high availability# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"}
|
||||
URL= # Example: protocol://user:password@host:port/path
|
||||
PORT= # Example: 3000
|
||||
|
||||
# See [documentation](docs/SERVICES.md) on running a separate collaboration# server, for normal operation this does not need to be set.COLLABORATION_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
# Specify what storage system to use. Possible value is one of "s3" or "local".# For "local", the avatar images and document attachments will be saved on local disk.FILE_STORAGE= # Example: local
|
||||
|
||||
# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under# which all attachments/images go. Make sure that the process has permissions to create# this path and also to write files to it.FILE_STORAGE_LOCAL_ROOT_DIR= # Example: /var/lib/outline/data
|
||||
|
||||
# Maximum allowed size for the uploaded attachment.FILE_STORAGE_UPLOAD_MAX_SIZE= # Example: 262144000
|
||||
|
||||
# than the document attachment maximum size.FILE_STORAGE_IMPORT_MAX_SIZE=
|
||||
|
||||
# and the files are temporary being automatically deleted after a period of time.FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE=
|
||||
|
||||
# To support uploading of images for avatars and document attachments in a distributed# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above.AWS_ACCESS_KEY_ID= # Example: myhiddenid
|
||||
AWS_SECRET_ACCESS_KEY= # Example: myhiddenkey
|
||||
AWS_REGION= # Example: xx-xxxx-x
|
||||
AWS_S3_ACCELERATE_URL= # Example: protocol://user:password@host:port/path
|
||||
AWS_S3_UPLOAD_BUCKET_URL= # Example: protocol://user:password@host:port/path
|
||||
AWS_S3_UPLOAD_BUCKET_NAME= # Example: bucket_name_here
|
||||
AWS_S3_FORCE_PATH_STYLE= # Example: true
|
||||
AWS_S3_ACL= # Example: private
|
||||
|
||||
# –––––––––––––– AUTHENTICATION ––––––––––––––
|
||||
# Third party signin credentials, at least ONE OF EITHER Google, Slack,# or Microsoft is required for a working installation or you'll have no sign-in# options.
|
||||
# To configure Slack auth, you'll need to create an Application at# => https://api.slack.com/apps#SLACK_CLIENT_ID= # Example: myhiddenid
|
||||
SLACK_CLIENT_SECRET= # Example: myhiddensecret
|
||||
|
||||
# => https://console.cloud.google.com/apis/credentials#GOOGLE_CLIENT_ID= # Example: myhiddenid
|
||||
GOOGLE_CLIENT_SECRET= # Example: myhiddensecret
|
||||
|
||||
# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4AZURE_CLIENT_ID= # Example: myhiddenid
|
||||
AZURE_CLIENT_SECRET= # Example: myhiddensecret
|
||||
AZURE_RESOURCE_APP_ID= # Example: myhiddenid
|
||||
|
||||
|
||||
OIDC_CLIENT_ID= # Example: myhiddenid
|
||||
OIDC_CLIENT_SECRET= # Example: myhiddenid
|
||||
OIDC_AUTH_URI= # Example: myhiddenid
|
||||
OIDC_TOKEN_URI= # Example: myhiddenid
|
||||
OIDC_USERINFO_URI= # Example: myhiddenid
|
||||
OIDC_LOGOUT_URI= # Example: myhiddenid
|
||||
OIDC_USERNAME_CLAIM= # Example: myhiddenid
|
||||
OIDC_DISPLAY_NAME= # Example: myhiddenid
|
||||
OIDC_SCOPES= # Example: myhiddenid
|
||||
|
||||
OIDC_USERNAME_CLAIM= # Example: myhiddenid
|
||||
|
||||
OIDC_DISPLAY_NAME= # Example: myhiddenid
|
||||
|
||||
# Space separated auth scopes.
|
||||
# To configure the GitHub integration, you'll need to create a GitHub App at# => https://github.com/settings/apps#GITHUB_CLIENT_ID= # Example: myhiddenid
|
||||
GITHUB_CLIENT_SECRET= # Example: myhiddensecret
|
||||
GITHUB_APP_NAME=
|
||||
GITHUB_APP_ID= # Example: myhiddenid
|
||||
GITHUB_APP_PRIVATE_KEY= # Example: myhiddenkey
|
||||
|
||||
# To configure Discord auth, you'll need to create a Discord Application at# => https://discord.com/developers/applications/#DISCORD_CLIENT_ID= # Example: myhiddenid
|
||||
DISCORD_CLIENT_SECRET= # Example: myhiddensecret
|
||||
|
||||
# integrated with.# metadata such as nicknames, server icon and name.DISCORD_SERVER_ID= # Example: myhiddenid
|
||||
|
||||
# allowed to access Outline. If this is not set, all members of the server# will be allowed to access Outline.DISCORD_SERVER_ROLES=
|
||||
|
||||
# –––––––––––––––– OPTIONAL ––––––––––––––––
|
||||
# required if you do not use an external reverse proxy. See documentation:# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45SSL_KEY= # Example: myhiddenkey
|
||||
SSL_CERT=
|
||||
|
||||
# If using a Cloudfront/Cloudflare distribution or similar it can be set below.CDN_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
# Auto-redirect to https in production. The default is true but you may set to# false if you can be sure that SSL is terminated at an external loadbalancer.FORCE_HTTPS= # Example: true
|
||||
|
||||
# Have the installation check for updates by sending anonymized statistics to# the maintainersENABLE_UPDATES= # Example: true
|
||||
|
||||
# available memory by 512 for a rough estimateWEB_CONCURRENCY= # Example: 1
|
||||
|
||||
# You can remove this line if your reverse proxy already logs incoming http# requests and this ends up being duplicativeDEBUG= # Example: http
|
||||
|
||||
# Configure lowest severity level for server logs. Should be one of# error, warn, info, http, verbose, debug and sillyLOG_LEVEL= # Example: info
|
||||
|
||||
# For a complete Slack integration with search and posting to channels the# following configs are also needed, some more details# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a#SLACK_VERIFICATION_TOKEN= # Example: myhiddentoken
|
||||
SLACK_APP_ID= # Example: myhiddenid
|
||||
SLACK_MESSAGE_ACTIONS= # Example: true
|
||||
|
||||
# and do not forget to whitelist your domain name in the app settingsDROPBOX_APP_KEY= # Example: myhiddenkey
|
||||
|
||||
# Optionally enable Sentry (sentry.io) to track errors and performance,SENTRY_DSN=
|
||||
SENTRY_TUNNEL=
|
||||
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=
|
||||
SMTP_USERNAME= # Example: username
|
||||
SMTP_PASSWORD= # Example: Passw0rd
|
||||
SMTP_FROM_EMAIL= # Example: user.name@gmail.com
|
||||
SMTP_REPLY_EMAIL= # Example: user.name@gmail.com
|
||||
SMTP_TLS_CIPHERS= # Example: 0.0.0.0
|
||||
SMTP_SECURE= # Example: true
|
||||
|
||||
# The default interface language. See translate.getoutline.com for a list of# available language codes and their rough percentage translated.# DEFAULT_LANGUAGE=en_USDEFAULT_LANGUAGE= # Example: fr_FR
|
||||
|
||||
# Optionally enable rate limiter at application web serverRATE_LIMITER_ENABLED= # Example: true
|
||||
|
||||
# Configure default throttling parameters for rate limiterRATE_LIMITER_REQUESTS= # Example: 1000
|
||||
RATE_LIMITER_DURATION_WINDOW= # Example: 60
|
||||
|
||||
# Iframely API configIFRAMELY_URL= # Example: protocol://user:password@host:port/path
|
||||
IFRAMELY_API_KEY= # Example: myhiddenkey
|
||||
@@ -0,0 +1,8 @@
|
||||
WORDPRESS_DB_HOST= # Example: oxivia_mysql
|
||||
WORDPRESS_DB_NAME= # Example: oxivia
|
||||
WORDPRESS_DB_USER= # Example: username
|
||||
WORDPRESS_DB_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_DATABASE= # Example: oxivia
|
||||
MYSQL_USER= # Example: username
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_RANDOM_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,5 @@
|
||||
FLASK_APP= # Example: /app/server.py
|
||||
FLASK_ENV= # Example: debug
|
||||
FLASK_DEBUG= # Example: 1
|
||||
FLASK_HOST= # Example: pandoc
|
||||
FLASK_PORT= # Example: 80
|
||||
@@ -0,0 +1,3 @@
|
||||
EMAIL= # Example: user.name@gmail.com
|
||||
PASSWORD= # Example: Passw0rd
|
||||
DEVICE_NAME= # Example: contabo
|
||||
@@ -0,0 +1,25 @@
|
||||
# Database / Postgres service configurationPOSTGRES_USER= # Example: username
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
# Postgres database name "peertube"POSTGRES_DB= # Example: peertube
|
||||
# Editable only with a suffix :#POSTGRES_DB=peertube_prod#PEERTUBE_DB_SUFFIX=_prodPEERTUBE_DB_USERNAME= # Example: username
|
||||
PEERTUBE_DB_PASSWORD= # Example: Passw0rd
|
||||
PEERTUBE_DB_SSL= # Example: false
|
||||
# Default to Postgres service name "postgres" in docker-compose.ymlPEERTUBE_DB_HOSTNAME= # Example: postgres
|
||||
|
||||
# Server configurationPEERTUBE_WEBSERVER_HOSTNAME= # Example: peertube.marcpartensky.fr
|
||||
# If you do not use https and a reverse-proxy in docker-compose.ymlPEERTUBE_WEBSERVER_PORT= # Example: 80
|
||||
PEERTUBE_WEBSERVER_HTTPS= # Example: false
|
||||
PEERTUBE_TRUST_PROXY= # Example: ["127.0.0.1", "loopback", "172.16.0.0/12", "192.168.0.0/16", "10.0.0.0/8"]
|
||||
|
||||
# If you use a Custom SMTP server# Default to Postfix service name "postfix" in docker-compose.yml# May be the hostname of your Custom SMTP serverPEERTUBE_SMTP_HOSTNAME= # Example: marcpartensky.com
|
||||
PEERTUBE_SMTP_PORT= # Example: 25
|
||||
PEERTUBE_SMTP_FROM= # Example: noreply@marcpartensky.com
|
||||
PEERTUBE_SMTP_TLS= # Example: false
|
||||
PEERTUBE_SMTP_DISABLE_STARTTLS= # Example: false
|
||||
PEERTUBE_ADMIN_EMAIL= # Example: user.name@gmail.com
|
||||
|
||||
# Postfix service configurationPOSTFIX_myhostname= # Example: marcpartensky.com
|
||||
OPENDKIM_DOMAINS= # Example: marcpartensky.com
|
||||
# see https://github.com/wader/postfix-relay/pull/18OPENDKIM_RequireSafeKeys= # Example: myhiddenkey
|
||||
|
||||
# /!\ Prefer to use the PeerTube admin interface to set the following configurations /!\#PEERTUBE_SIGNUP_ENABLED=true#PEERTUBE_TRANSCODING_ENABLED=true#PEERTUBE_CONTACT_FORM_ENABLED=truePEERTUBE_SECRET= # Example: myhiddensecret
|
||||
@@ -0,0 +1,5 @@
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_PASS= # Example: Passw0rd
|
||||
POSTGRES_PORT= # Example: 5432
|
||||
POSTGRES_HOST= # Example: postgres
|
||||
# DBLISTCRON_SCHEDULE= # Example: "0 5 * * *"
|
||||
@@ -0,0 +1,2 @@
|
||||
PGADMIN_DEFAULT_EMAIL= # Example: user.name@gmail.com
|
||||
PGADMIN_DEFAULT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,10 @@
|
||||
POSTGRES_HOST= # Example: postgres
|
||||
POSTGRES_DB= # Example: authentik dockerdash etesync etherpad focalboard gitea grafana matrix nextcloud owncloud peertube postgres vaultwarden wallabag website wger
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
POSTGRES_EXTRA_OPTS= # Example: -Z6 --schema=public --blobs
|
||||
SCHEDULE= # Example: @daily
|
||||
BACKUP_KEEP_DAYS= # Example: 7
|
||||
BACKUP_KEEP_WEEKS= # Example: 4
|
||||
BACKUP_KEEP_MONTHS= # Example: 6
|
||||
HEALTHCHECK_PORT= # Example: 8080
|
||||
@@ -0,0 +1 @@
|
||||
DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,3 @@
|
||||
POSTGRES_DB= # Example: website
|
||||
POSTGRES_USER= # Example: username
|
||||
POSTGRES_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,3 @@
|
||||
PGRST_DB_URI= # Example: protocol://user:password@host:port/path
|
||||
PGRST_DB_SCHEMA= # Example: public
|
||||
PGRST_DB_ANON_ROLE= # Example: izitdone
|
||||
@@ -0,0 +1,2 @@
|
||||
MONGO_INITDB_ROOT_USERNAME= # Example: username
|
||||
MONGO_INITDB_ROOT_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,3 @@
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_ROOT_PASSWORD= # Example: Passw0rd
|
||||
DB_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,2 @@
|
||||
REGISTRY_HTTP_SECRET= # Example: myhiddensecret
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
RP_EMAIL= # Example: user.name@gmail.com
|
||||
RP_PASSWORD= # Example: Passw0rd
|
||||
@@ -0,0 +1,30 @@
|
||||
# POSTGRES_HOST=postgres# POSTGRES_PORT=5432# POSTGRES_DB=postgres# POSTGRES_SSL_CERT=
|
||||
|
||||
PUBLIC_URL= # Example: protocol://user:password@host:port/path
|
||||
__DEV__CLIENT_URL= # Example: myhiddensecret
|
||||
# NODE_ENV=productionNODE_ENV= # Example: development
|
||||
PORT= # Example: 3000
|
||||
|
||||
# PrinterCHROME_TOKEN= # Example: myhiddentoken
|
||||
TOKEN= # Example: myhiddentoken
|
||||
CHROME_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
# RedisREDIS_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
# PostgresDATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
SECRET_KEY= # Example: myhiddenkey
|
||||
ACCESS_TOKEN_SECRET= # Example: myhiddentoken
|
||||
REFRESH_TOKEN_SECRET= # Example: myhiddentoken
|
||||
|
||||
JWT_SECRET= # Example: myhiddensecret
|
||||
JWT_EXPIRY_TIME= # Example: 604800
|
||||
STORAGE_BUCKET= # Example: default
|
||||
# STORAGE_REGION=# STORAGE_ENDPOINT=# STORAGE_USE_SSL=false# PDF_DELETION_TIME=## -- Storage (Minio) --STORAGE_URL= # Example: protocol://user:password@host:port/path
|
||||
STORAGE_ENDPOINT= # Example: minio
|
||||
STORAGE_PORT= # Example: 9000
|
||||
# STORAGE_REGION: us-east-1 # OptionalSTORAGE_BUCKET= # Example: resume
|
||||
STORAGE_ACCESS_KEY= # Example: myhiddenkey
|
||||
STORAGE_SECRET_KEY= # Example: myhiddenkey
|
||||
STORAGE_USE_SSL= # Example: false
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
MYSQL_HOST= # Example: 192.168.0.145
|
||||
MYSQL_DATABASE= # Example: prospectix
|
||||
MYSQL_USER= # Example: username
|
||||
MYSQL_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_RANDOM_ROOT_PASSWORD= # Example: Passw0rd
|
||||
DATA_PATH= # Example: "data.yaml"
|
||||
SCHTROUMPFIX_JS= # Example: "schtroumpfix.js"
|
||||
@@ -0,0 +1,10 @@
|
||||
# dbMYSQL_ROOT_PASSWORD= # Example: Passw0rd
|
||||
MYSQL_LOG_CONSOLE= # Example: true
|
||||
|
||||
# seafileDB_HOST= # Example: db
|
||||
DB_ROOT_PASSWD= # Example: Passw0rd
|
||||
# # Optional, default is UTC. Should be uncomment and set to your local time zone.TIME_ZONE= # Example: Europe/Paris
|
||||
SEAFILE_ADMIN_EMAIL= # Example: user.name@gmail.com
|
||||
SEAFILE_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
# Whether to use https or not.SEAFILE_SERVER_LETSENCRYPT= # Example: false
|
||||
# Specifies your host name if https is enabled.SEAFILE_SERVER_HOSTNAME= # Example: seafile.marcpartensky.com
|
||||
@@ -0,0 +1,29 @@
|
||||
# This is a template dotenv file. You should copy it and then modify it to fit# your setup. These environment variables won't do anything unless copied into# a file called `.env.test`. There, they'll be used to determine information# about the test environment.## This is useful because we want the test environment to have a different# configuration from the development environment. That way, we can run# the automated test suites without worrying about their impact on the database# we use for development.## For more information, see the Automated Testing Documentation.# https://docs.suitecrm.com/developer/automatedtesting/
|
||||
#== Install Test Suite:
|
||||
# MYSQL or MSSQLDATABASE_DRIVER= # Example: MYSQL
|
||||
|
||||
# Path to database serverDATABASE_HOST= # Example: localhost
|
||||
|
||||
# Name of the databaseDATABASE_NAME= # Example: automated_tests
|
||||
|
||||
DATABASE_USER= # Example: username
|
||||
|
||||
DATABASE_PASSWORD= # Example: Passw0rd
|
||||
|
||||
#== Acceptance, API, and Install Test Suites:
|
||||
INSTANCE_URL= # Example: protocol://user:password@host:port/path
|
||||
|
||||
INSTANCE_ADMIN_USER= # Example: username
|
||||
|
||||
INSTANCE_ADMIN_PASSWORD= # Example: Passw0rd
|
||||
|
||||
#== API Test Suite:
|
||||
INSTANCE_CLIENT_ID= # Example: myhiddenid
|
||||
|
||||
INSTANCE_CLIENT_SECRET= # Example: myhiddensecret
|
||||
|
||||
# Default web browser for acceptance and install testsBROWSER= # Example: chrome
|
||||
|
||||
# Webdriver hostname (Selenium, Local or Cloud Testing)WEBDRIVER_HOST= # Example: 127.0.0.1
|
||||
|
||||
# Webdriver port (Selenium, Local or Cloud Testing)WEBDRIVER_PORT= # Example: 4444
|
||||
@@ -0,0 +1,5 @@
|
||||
SYNC_HOST= # Example: 0.0.0.0
|
||||
SYNC_MASTER_SECRET= # Example: myhiddensecret
|
||||
SYNC_TOKENSERVER__DATABASE_URL= # Example: myhiddentoken
|
||||
SYNC_TOKENSERVER__RUN_MIGRATIONS= # Example: myhiddentoken
|
||||
SYNC_DATABASE_URL= # Example: protocol://user:password@host:port/path
|
||||
@@ -0,0 +1,5 @@
|
||||
TABLEAU_USERNAME= # Example: username
|
||||
TABLEAU_PASSWORD= # Example: Passw0rd
|
||||
TSM_REMOTE_UID= # Example: myhiddenid
|
||||
TSM_REMOTE_USERNAME= # Example: username
|
||||
LICENSE_KEY= # Example: myhiddenkey
|
||||
Executable
+114
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import glob
|
||||
|
||||
url = "protocol://user:password@host:port/path"
|
||||
ip = "0.0.0.0"
|
||||
mail = "user.name@gmail.com"
|
||||
user = "username"
|
||||
password = "Passw0rd"
|
||||
id = "myhiddenid"
|
||||
key = "myhiddenkey"
|
||||
token = "myhiddentoken"
|
||||
secret = "myhiddensecret"
|
||||
|
||||
secret_keywords = {
|
||||
"password": password,
|
||||
"pass": password,
|
||||
"pwd": password,
|
||||
"pw": password,
|
||||
"id": id,
|
||||
"key": key,
|
||||
"token": token,
|
||||
"client": secret,
|
||||
"secret": secret,
|
||||
"url": url,
|
||||
"uri": url,
|
||||
"nc_db": url,
|
||||
"ip": ip,
|
||||
"vpn": ip,
|
||||
"mail": mail,
|
||||
"user": user,
|
||||
}
|
||||
|
||||
def create_template_from_env_file(
|
||||
file_path,
|
||||
):
|
||||
"""
|
||||
Crée un fichier template à partir d'un fichier .env.
|
||||
Pour chaque variable, si la clé ne contient pas de mot sensible, la valeur est affichée en commentaire.
|
||||
Sinon, seule la clé est indiquée avec une valeur vide.
|
||||
"""
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
template_lines = []
|
||||
for line in lines:
|
||||
sensitive = False
|
||||
stripped = line.strip()
|
||||
|
||||
# Conserver les lignes vides
|
||||
if not stripped:
|
||||
template_lines.append(line)
|
||||
continue
|
||||
|
||||
# If it is a comment
|
||||
if stripped.startswith("#"):
|
||||
|
||||
# that doesn't contain sensitive information
|
||||
for keyword in secret_keywords.keys():
|
||||
if keyword in stripped.lower():
|
||||
sensitive = True
|
||||
break
|
||||
|
||||
# then add it
|
||||
if not sensitive:
|
||||
template_lines.append(stripped)
|
||||
continue
|
||||
|
||||
# If not a comment and doesnt contain "=" it is an error dont add the line but print it
|
||||
if "=" not in stripped:
|
||||
print("Error:", file_path, stripped)
|
||||
continue
|
||||
|
||||
# Traiter les lignes de variables
|
||||
key, value = line.split("=", 1)
|
||||
key_part = key.strip()
|
||||
value_part = value.split('#')[0].strip() # Ignorer les commentaires en fin de ligne
|
||||
|
||||
# Vérifier si la clé contient un mot sensible
|
||||
for keyword in secret_keywords.keys():
|
||||
if keyword in key_part.lower():
|
||||
sensitive = True
|
||||
break
|
||||
|
||||
if sensitive:
|
||||
template_lines.append(f"{key_part}= # Example: {secret_keywords[keyword]}\n")
|
||||
continue
|
||||
|
||||
# Si la clé ne contient pas de mot sensible
|
||||
if value_part:
|
||||
template_lines.append(f"{key_part}= # Example: {value_part}\n")
|
||||
else:
|
||||
template_lines.append(f"{key_part}=\n")
|
||||
|
||||
# Générer le nom du fichier template
|
||||
base_name = os.path.basename(file_path)
|
||||
file_name = base_name.split('.')[0]
|
||||
template_file = f"{file_name}.template.env"
|
||||
|
||||
with open(template_file, 'w', encoding='utf-8') as f:
|
||||
f.writelines(template_lines)
|
||||
|
||||
print(f"{template_file}")
|
||||
|
||||
def main():
|
||||
# Rechercher tous les fichiers .env sauf les templates existants
|
||||
env_files = glob.glob("*.env")
|
||||
for file in env_files:
|
||||
if not file.endswith(".template.env"):
|
||||
create_template_from_env_file(file)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,13 @@
|
||||
TIMEASSISTANT_NEXTCLOUD_URL= # Example: protocol://user:password@host:port/path
|
||||
TIMEASSISTANT_NEXTCLOUD_USER= # Example: username
|
||||
TIMEASSISTANT_NEXTCLOUD_PASSWORD= # Example: Passw0rd
|
||||
TIMEASSISTANT_NEXTCLOUD_BOARD= # Example: "-Todolist"
|
||||
|
||||
|
||||
GRANIAN_RELOAD= # Example: 0
|
||||
|
||||
GRANIAN_INTERFACE= # Example: asgi
|
||||
GRANIAN_HOST= # Example: 0.0.0.0
|
||||
GRANIAN_PORT= # Example: 8000
|
||||
GRANIAN_LOGLEVEL= # Example: info
|
||||
GRANIAN_LOG_ACCESS_ENABLED= # Example: 1
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user