mirror of
https://github.com/tteck/Proxmox.git
synced 2025-02-19 12:56:01 +00:00
Compare commits
604 Commits
42bd22d96d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
930760840c | ||
|
|
9ef8058194 | ||
|
|
7452b47c9f | ||
|
|
f4c9cc1156 | ||
|
|
38d3f2c868 | ||
|
|
57b9cde44d | ||
|
|
f26410759a | ||
|
|
d22879b5e9 | ||
|
|
8cdb218e38 | ||
|
|
409936a9fc | ||
|
|
eceb52a67a | ||
|
|
2d3cae43cb | ||
|
|
b603da7778 | ||
|
|
902aee0c0b | ||
|
|
6881f07437 | ||
|
|
06742f7ef5 | ||
|
|
32cd74e49f | ||
|
|
28896707bc | ||
|
|
0340aec142 | ||
|
|
8a21f6e7f0 | ||
|
|
77b06ee3f9 | ||
|
|
399786c5bd | ||
|
|
e4912cec78 | ||
|
|
846d75dca1 | ||
|
|
af0376f25b | ||
|
|
5ae25108ef | ||
|
|
55c8d1187b | ||
|
|
9a5d43e4d3 | ||
|
|
bb2c143cc8 | ||
|
|
2a844122d0 | ||
|
|
540fcd24f2 | ||
|
|
c2c48b52c7 | ||
|
|
744e183eea | ||
|
|
468a5d367d | ||
|
|
edf0753120 | ||
|
|
64eab60a4c | ||
|
|
5c711293b9 | ||
|
|
1d83562661 | ||
|
|
f5978717d4 | ||
|
|
7176eaa99d | ||
|
|
2184eab0c5 | ||
|
|
612979a040 | ||
|
|
b4732cd8e9 | ||
|
|
0ab3151825 | ||
|
|
226697f810 | ||
|
|
aadcb5b264 | ||
|
|
c9f7f6447d | ||
|
|
34917b15f5 | ||
|
|
d11ad56158 | ||
|
|
824710ddd4 | ||
|
|
8206f0b3dc | ||
|
|
30a5147fba | ||
|
|
09721e7cae | ||
|
|
50ce6fd6df | ||
|
|
e9940cc535 | ||
|
|
087d635fd4 | ||
|
|
f75fbc8d50 | ||
|
|
128b076731 | ||
|
|
95dbf93591 | ||
|
|
9a0cb6b8f5 | ||
|
|
dbcb900da4 | ||
|
|
cac29c8f5c | ||
|
|
1fb144306c | ||
|
|
5b22df5c8e | ||
|
|
e2e4784136 | ||
|
|
e995fb4f30 | ||
|
|
dd3a32986a | ||
|
|
7d26b42163 | ||
|
|
ec24441a2a | ||
|
|
f3408ed4f3 | ||
|
|
efd6d74edb | ||
|
|
dbc4ce0231 | ||
|
|
e643fe6699 | ||
|
|
fe9736fd38 | ||
|
|
1ec52d08a3 | ||
|
|
32c24f69a7 | ||
|
|
3e2dc1cc1c | ||
|
|
7ae803092e | ||
|
|
6ead7e1e5f | ||
|
|
e705fb6805 | ||
|
|
23b391b21d | ||
|
|
e377e065a4 | ||
|
|
3237e6aced | ||
|
|
22e7ff1f17 | ||
|
|
badff00ee2 | ||
|
|
0665e77a1c | ||
|
|
6e7b5d8022 | ||
|
|
11c5f518a0 | ||
|
|
0618c89147 | ||
|
|
b7baf2d1ed | ||
|
|
b323313d6e | ||
|
|
e3160b56af | ||
|
|
d442fa49f5 | ||
|
|
7e061a112f | ||
|
|
221ed9d260 | ||
|
|
8847505782 | ||
|
|
a9042ffdc1 | ||
|
|
301fc39a85 | ||
|
|
5dbb000070 | ||
|
|
d9789d1685 | ||
|
|
80f678a2b3 | ||
|
|
f5d1d21ac6 | ||
|
|
8d8b152f6f | ||
|
|
79e0c29e33 | ||
|
|
af5218d0a1 | ||
|
|
6fbb8ab4a2 | ||
|
|
36805ae6bb | ||
|
|
4c83a790ac | ||
|
|
b7fe85cd5b | ||
|
|
a10a0f09dd | ||
|
|
e9ec4c4f8e | ||
|
|
741f38fe2f | ||
|
|
eb881fefa6 | ||
|
|
6bee7e291e | ||
|
|
5420269e97 | ||
|
|
2554560082 | ||
|
|
6f98a65692 | ||
|
|
72b3876fee | ||
|
|
542a8a619b | ||
|
|
97d48dd4b7 | ||
|
|
6bb46a5365 | ||
|
|
05062bab40 | ||
|
|
71107fedc4 | ||
|
|
8335fbd3d5 | ||
|
|
bb6759aae8 | ||
|
|
9aec831f92 | ||
|
|
f2966ced7f | ||
|
|
6191d8e792 | ||
|
|
f2937febe6 | ||
|
|
f2fe361224 | ||
|
|
87a8d9c2d8 | ||
|
|
9a17e03a38 | ||
|
|
015e8f4393 | ||
|
|
1ff0979cee | ||
|
|
1a14c87209 | ||
|
|
4ead590cf4 | ||
|
|
5f34c2c7c8 | ||
|
|
f2662027a8 | ||
|
|
6a02ba1335 | ||
|
|
e140642b1f | ||
|
|
61b0ca67cc | ||
|
|
649590eea7 | ||
|
|
da30cd5c1e | ||
|
|
ae7217048f | ||
|
|
1ea00c4775 | ||
|
|
72d3d64a48 | ||
|
|
085f1965a3 | ||
|
|
9543941d07 | ||
|
|
695793a151 | ||
|
|
93ed909fff | ||
|
|
abe337e52d | ||
|
|
8ace224138 | ||
|
|
620b652864 | ||
|
|
fa2e4786af | ||
|
|
e4d342c819 | ||
|
|
c567efe374 | ||
|
|
27bfa24cfe | ||
|
|
a773864a1a | ||
|
|
fe3b17b59d | ||
|
|
02468cc44d | ||
|
|
1fd5114183 | ||
|
|
80feaf6fa5 | ||
|
|
b6890ccfbe | ||
|
|
3bd32110d9 | ||
|
|
dc1adaba01 | ||
|
|
b14a33ffac | ||
|
|
07df1c8373 | ||
|
|
0ee61aa092 | ||
|
|
389b03568d | ||
|
|
c502e413de | ||
|
|
30850b67f9 | ||
|
|
73eaf2e6a5 | ||
|
|
6d89c2de12 | ||
|
|
1e5f4b152e | ||
|
|
4cddfa3b12 | ||
|
|
4d9d7a8242 | ||
|
|
b129cb1767 | ||
|
|
07895a7c23 | ||
|
|
103ac46a9f | ||
|
|
5fb1be4e41 | ||
|
|
86a5c8c1ba | ||
|
|
c926ed1fbc | ||
|
|
ef55baf25a | ||
|
|
2d6f2d0e94 | ||
|
|
f23b3cea13 | ||
|
|
030d477cc3 | ||
|
|
cb8318bf08 | ||
|
|
e680dab28f | ||
|
|
c9e271dac7 | ||
|
|
75c98d8e68 | ||
|
|
7f66b187fd | ||
|
|
6cb0bc59d9 | ||
|
|
96c8062405 | ||
|
|
4696040e93 | ||
|
|
df3047e295 | ||
|
|
158c309d71 | ||
|
|
253da053fe | ||
|
|
3fc4aa4a6e | ||
|
|
9ad778ca52 | ||
|
|
9d76662d76 | ||
|
|
fef858ed7b | ||
|
|
4844a00316 | ||
|
|
d5e66a25ff | ||
|
|
2281a20b75 | ||
|
|
21abd09052 | ||
|
|
7d77be87d5 | ||
|
|
bb0a39e3c4 | ||
|
|
561419f1a2 | ||
|
|
723365a79d | ||
|
|
9d579083bf | ||
|
|
de1a4b0914 | ||
|
|
aec826bbb3 | ||
|
|
9db6aa8fbb | ||
|
|
bfa2b0c0ee | ||
|
|
52bfc1725f | ||
|
|
0a33d1739e | ||
|
|
28085bb2e7 | ||
|
|
631ef46466 | ||
|
|
604b7ee628 | ||
|
|
72dfc20090 | ||
|
|
aca97a3da3 | ||
|
|
e4ad002ce5 | ||
|
|
448cf93163 | ||
|
|
41b63495db | ||
|
|
08debd9442 | ||
|
|
a28eb2fd46 | ||
|
|
3c41499074 | ||
|
|
88de3536ab | ||
|
|
23ebc32489 | ||
|
|
2782502e06 | ||
|
|
9c88dcdbd6 | ||
|
|
e428bb8604 | ||
|
|
daa896894d | ||
|
|
6d1cc92b59 | ||
|
|
92452db3e5 | ||
|
|
d26e474ccb | ||
|
|
b66590f976 | ||
|
|
4a1e02a9ab | ||
|
|
ddb6551565 | ||
|
|
20fb0ce808 | ||
|
|
c4b6ea33aa | ||
|
|
a5fece4292 | ||
|
|
232919d6be | ||
|
|
d21760cc65 | ||
|
|
341e873eba | ||
|
|
d073535346 | ||
|
|
b567bd848b | ||
|
|
bfce73c0ed | ||
|
|
880a0f52ec | ||
|
|
026b0f4105 | ||
|
|
b108b6e373 | ||
|
|
fabbe5925b | ||
|
|
5e561a1b78 | ||
|
|
a35e23916e | ||
|
|
f59c1227be | ||
|
|
32ae8c1f4f | ||
|
|
2c58bc987c | ||
|
|
136f667126 | ||
|
|
ae49faec93 | ||
|
|
b73557c14f | ||
|
|
8db7e57819 | ||
|
|
d18e37166d | ||
|
|
80fb3ee841 | ||
|
|
6c155c7463 | ||
|
|
2febf2c39b | ||
|
|
cfa1b2e04d | ||
|
|
9deea7a983 | ||
|
|
00a8f07170 | ||
|
|
9cbd0f3037 | ||
|
|
bf40c30fff | ||
|
|
e3da97472e | ||
|
|
2446b6599f | ||
|
|
19fef65ac0 | ||
|
|
8892fd960f | ||
|
|
22c7801217 | ||
|
|
3a65f89cab | ||
|
|
186f186e8b | ||
|
|
8562dd1b93 | ||
|
|
dad9da5e67 | ||
|
|
496b9bf92c | ||
|
|
6596850918 | ||
|
|
fc5ea73e45 | ||
|
|
f64e8ef47b | ||
|
|
e6b86f3d47 | ||
|
|
7daad62fad | ||
|
|
15be0761ff | ||
|
|
5ef5f0086e | ||
|
|
85418addac | ||
|
|
ef27851d31 | ||
|
|
5fcae037c2 | ||
|
|
eab4160c33 | ||
|
|
6e6a86aaa9 | ||
|
|
39ea1d4a20 | ||
|
|
d3f71d078d | ||
|
|
c29768de51 | ||
|
|
8fd1727fa8 | ||
|
|
1769a3f40b | ||
|
|
8322aede45 | ||
|
|
59b2d529a2 | ||
|
|
7d142d593e | ||
|
|
ecb4294a18 | ||
|
|
482f60f90a | ||
|
|
a078adfaea | ||
|
|
122271dd34 | ||
|
|
946fad73b9 | ||
|
|
9b42be526d | ||
|
|
00f7e0b287 | ||
|
|
2ec2831d5f | ||
|
|
eb9bff22c3 | ||
|
|
943be5301a | ||
|
|
59c78c03ac | ||
|
|
5d0e18634f | ||
|
|
89aba15275 | ||
|
|
8a52575039 | ||
|
|
344d6ac008 | ||
|
|
a40795a5d4 | ||
|
|
a87b6c8a2b | ||
|
|
3639db4e94 | ||
|
|
4a135f4ecd | ||
|
|
be8dbcc094 | ||
|
|
39313455e6 | ||
|
|
d81fc402a0 | ||
|
|
8228d24027 | ||
|
|
26fd770db5 | ||
|
|
9c475a0208 | ||
|
|
72d70d7842 | ||
|
|
dafe17ac95 | ||
|
|
8a61cad71f | ||
|
|
53b24ef7b7 | ||
|
|
54bb719223 | ||
|
|
dbbc2ed0a4 | ||
|
|
3885ca0590 | ||
|
|
2131ee2c3b | ||
|
|
0e284df495 | ||
|
|
5886f1240e | ||
|
|
d3ff7c36e1 | ||
|
|
8caf9598b4 | ||
|
|
b6f8e46eaa | ||
|
|
ea18643069 | ||
|
|
7dca71d296 | ||
|
|
3a455a9e9e | ||
|
|
c2fe080307 | ||
|
|
814a915819 | ||
|
|
421bccfee8 | ||
|
|
4020e1b6ae | ||
|
|
1a937b10f2 | ||
|
|
60951ff58f | ||
|
|
5e5e2c96a5 | ||
|
|
7ea8bdfb95 | ||
|
|
79b138cc6d | ||
|
|
fd114369e9 | ||
|
|
5bc0ddda22 | ||
|
|
9a3a05f75a | ||
|
|
21c1240c8c | ||
|
|
9ba59e0b56 | ||
|
|
0a35b1a5bb | ||
|
|
c10903942f | ||
|
|
7d224a726f | ||
|
|
32375279fd | ||
|
|
b40696c41a | ||
|
|
cd1d295ae1 | ||
|
|
f396b6153f | ||
|
|
20a1d1ea69 | ||
|
|
4a2447bed6 | ||
|
|
7babad2098 | ||
|
|
5ed048c9fa | ||
|
|
3c79305bca | ||
|
|
d280514505 | ||
|
|
fc0fbeea70 | ||
|
|
99f50a5bc2 | ||
|
|
cabfa3ba2f | ||
|
|
df89bf0cfb | ||
|
|
2f5c95d0ec | ||
|
|
d5c0d165da | ||
|
|
5e515c1e23 | ||
|
|
fc9dff220b | ||
|
|
37f42468ba | ||
|
|
0812983a64 | ||
|
|
2e268c2f49 | ||
|
|
3dd1da2cf1 | ||
|
|
44fc9b43cc | ||
|
|
faf133ffed | ||
|
|
22c03c89d3 | ||
|
|
9bbe81fe42 | ||
|
|
e842d2ec3d | ||
|
|
17f54c5f8b | ||
|
|
ad1cbf085e | ||
|
|
0fb8716ebe | ||
|
|
a95657947d | ||
|
|
7446dc4c73 | ||
|
|
7ba1459286 | ||
|
|
37ac28da06 | ||
|
|
3dce2fb7dd | ||
|
|
80046821af | ||
|
|
47b6fd5e8a | ||
|
|
d5031be729 | ||
|
|
a94bc0234f | ||
|
|
574226d993 | ||
|
|
0bd8035461 | ||
|
|
acfb3eee04 | ||
|
|
ea135820e3 | ||
|
|
5efcac2bc5 | ||
|
|
e5788637b7 | ||
|
|
31ae6d829c | ||
|
|
14798991b4 | ||
|
|
0e24893e52 | ||
|
|
b6e83bcae2 | ||
|
|
326f9f500b | ||
|
|
6b33fdd9f5 | ||
|
|
d468fc6c1f | ||
|
|
73291211a8 | ||
|
|
7c5f4335fd | ||
|
|
2f6ed33575 | ||
|
|
d8c14cc5fe | ||
|
|
3af40c5238 | ||
|
|
bf08d0a435 | ||
|
|
e746d7c340 | ||
|
|
07585658b0 | ||
|
|
2a8a65e754 | ||
|
|
b503418cdb | ||
|
|
8c09fafa6e | ||
|
|
08032f165f | ||
|
|
dc01c8bdcd | ||
|
|
8b0400bd94 | ||
|
|
22780bbf58 | ||
|
|
0cd751d75c | ||
|
|
1b842f22cf | ||
|
|
ef87f69fa0 | ||
|
|
a4fed89490 | ||
|
|
b91c8a79c5 | ||
|
|
906b6c07d2 | ||
|
|
990e299b35 | ||
|
|
26ba9ea323 | ||
|
|
9dac75a48b | ||
|
|
ca8b655c81 | ||
|
|
db157d02e4 | ||
|
|
36fd846601 | ||
|
|
6c4e2aa7fe | ||
|
|
48ae95bdea | ||
|
|
4d3afc012b | ||
|
|
a04fd986dc | ||
|
|
b3cf19141f | ||
|
|
12173c3d14 | ||
|
|
368e8f2d58 | ||
|
|
218c3b2cc9 | ||
|
|
3fb1a23cd3 | ||
|
|
9a3f19eece | ||
|
|
f1ef008fcc | ||
|
|
d80084b9a6 | ||
|
|
549f848410 | ||
|
|
4bce8ff991 | ||
|
|
5ecfd4e1b5 | ||
|
|
f8b5fbe3de | ||
|
|
afe90a8417 | ||
|
|
9483d83c5e | ||
|
|
91985329f6 | ||
|
|
0e01ceb460 | ||
|
|
12bd10bef3 | ||
|
|
bd56416898 | ||
|
|
d46076cab9 | ||
|
|
bd94aad7fa | ||
|
|
ef4d18f870 | ||
|
|
5204ad7e16 | ||
|
|
d0439cde1c | ||
|
|
c13b868dda | ||
|
|
0a392dc70a | ||
|
|
c1a3b142b0 | ||
|
|
98aaaf5bd1 | ||
|
|
497994381f | ||
|
|
ee97a5f734 | ||
|
|
f830b228a8 | ||
|
|
d5b91a44d0 | ||
|
|
fc997a9f36 | ||
|
|
1aff71d17f | ||
|
|
4a36166929 | ||
|
|
0209c9a7cd | ||
|
|
c3cd3636e6 | ||
|
|
9b96a64401 | ||
|
|
450c2a6d24 | ||
|
|
7924744bc2 | ||
|
|
897c7bd867 | ||
|
|
e62f657d31 | ||
|
|
aa96a47efc | ||
|
|
afd070a691 | ||
|
|
3e6c0944fb | ||
|
|
b950a06b5f | ||
|
|
cfc6ca13ef | ||
|
|
5793283ea4 | ||
|
|
830fddb2a9 | ||
|
|
a5c5628bed | ||
|
|
831d62390d | ||
|
|
3c463d4ce1 | ||
|
|
410794f055 | ||
|
|
b9cc6a09a3 | ||
|
|
e4d8b62452 | ||
|
|
43ee7501ad | ||
|
|
dc222ec251 | ||
|
|
4a1ccb5d3d | ||
|
|
6cb9e1db0a | ||
|
|
bb965d681c | ||
|
|
c349da6859 | ||
|
|
7faf0443b1 | ||
|
|
39d8721d36 | ||
|
|
817d51a4ee | ||
|
|
1320434a1a | ||
|
|
c476436a9d | ||
|
|
64a33de118 | ||
|
|
1ed8a8b5b3 | ||
|
|
f5ceaccd6d | ||
|
|
c820596431 | ||
|
|
ee8fea07be | ||
|
|
ace4a8e43f | ||
|
|
adb7bc55f4 | ||
|
|
e13303d2fc | ||
|
|
46be5a9b74 | ||
|
|
bd029543c8 | ||
|
|
f041d5edea | ||
|
|
90003e72f3 | ||
|
|
cae357cc26 | ||
|
|
169201a751 | ||
|
|
01c54ab916 | ||
|
|
869a95d221 | ||
|
|
a75f383568 | ||
|
|
6c3c39b79c | ||
|
|
90f696461e | ||
|
|
5d6cec1dd7 | ||
|
|
39ac55d024 | ||
|
|
51b39f269b | ||
|
|
93aa096169 | ||
|
|
fff310fe16 | ||
|
|
a07e2e9dc6 | ||
|
|
0ea0ee56f4 | ||
|
|
0f9d3dea8a | ||
|
|
38c144951f | ||
|
|
d22dd105fb | ||
|
|
aacc2b76e4 | ||
|
|
1672c7fc0e | ||
|
|
ccc91c0337 | ||
|
|
95b7607d4e | ||
|
|
8895888df2 | ||
|
|
4883cd7afe | ||
|
|
e857886838 | ||
|
|
afe93a2b48 | ||
|
|
105fa6e8c4 | ||
|
|
8f243c444e | ||
|
|
b2b32c826e | ||
|
|
7d7dd643fa | ||
|
|
6280950c31 | ||
|
|
b9a45ab5a6 | ||
|
|
781a209401 | ||
|
|
faf98bc1f8 | ||
|
|
8651919e59 | ||
|
|
18bdaad109 | ||
|
|
ef6abf4bd6 | ||
|
|
c828d38ba4 | ||
|
|
93f791e592 | ||
|
|
3ff48e3dae | ||
|
|
f20d65a606 | ||
|
|
dc6c21a85f | ||
|
|
c073351b4c | ||
|
|
cfd4c979a1 | ||
|
|
bf4a04528b | ||
|
|
c042b7c527 | ||
|
|
67cad1583b | ||
|
|
1fb93b326f | ||
|
|
7ebc6ea84f | ||
|
|
f17592cfc7 | ||
|
|
80482414c4 | ||
|
|
dafa19a608 | ||
|
|
bdb7126a38 | ||
|
|
4ccf823d7a | ||
|
|
82b6e743f1 | ||
|
|
9623058274 | ||
|
|
486041a4d0 | ||
|
|
b7051d1fc0 | ||
|
|
7a72c82ece | ||
|
|
337c1c700a | ||
|
|
e3b4543ef5 | ||
|
|
da964fcacc | ||
|
|
45205da9a6 | ||
|
|
6f6d83c261 | ||
|
|
ff3216aa92 | ||
|
|
fb4fdab433 | ||
|
|
39a1c11940 | ||
|
|
00f661c9f5 | ||
|
|
07a3a8aa79 | ||
|
|
77c92e0102 | ||
|
|
b6b1e8db4a | ||
|
|
049a8096d3 | ||
|
|
9cfad87e3b | ||
|
|
9fc3901444 | ||
|
|
22d755d66f | ||
|
|
6d296e0fdf | ||
|
|
dbe21ab539 | ||
|
|
edbaa1fbdc | ||
|
|
4efb41620c | ||
|
|
95573a7285 | ||
|
|
a256d4f9b6 | ||
|
|
42a256ca0e | ||
|
|
9f8c93a416 | ||
|
|
02efa7c07a | ||
|
|
f984003ea8 | ||
|
|
f956428321 | ||
|
|
170066a73b |
2
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
@@ -48,7 +48,7 @@ body:
|
||||
- Debian 12
|
||||
- Ubuntu 20.04
|
||||
- Ubuntu 22.04
|
||||
- Ubuntu 23.10
|
||||
- Ubuntu 24.04
|
||||
- type: textarea
|
||||
id: screenshot
|
||||
attributes:
|
||||
|
||||
20
.github/pull_request_template.md
vendored
20
.github/pull_request_template.md
vendored
@@ -1,18 +1,20 @@
|
||||
## I wanted to make you aware that I am meticulous when it comes to merging code into the main branch, so please don't take it personally if I reject your request.
|
||||
> [!NOTE]
|
||||
I am meticulous when it comes to merging code into the main branch, so please understand that I may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.
|
||||
|
||||
## Description
|
||||
|
||||
Please include a summary of the change and/or which issue is fixed.
|
||||
Provide a summary of the changes made and/or reference the issue being addressed.
|
||||
|
||||
Fixes # (issue)
|
||||
|
||||
## Type of change
|
||||
|
||||
Please delete options that are not relevant.
|
||||
Please check the relevant option(s):
|
||||
|
||||
- [ ] Bug fix (non-breaking change that resolves an issue)
|
||||
- [ ] New feature (non-breaking change that adds functionality)
|
||||
- [ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
|
||||
- [ ] New script (a fully functional and thoroughly tested script or set of scripts.)
|
||||
- [ ] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
|
||||
- [ ] Documentation update required (this change requires an update to the documentation)
|
||||
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] New Script (Develop a new script or set of scripts that are fully functional and thoroughly tested)
|
||||
- [ ] I have performed a self-review of my code, adhering to established codebase patterns and conventions.
|
||||
- [ ] This change requires a documentation update
|
||||
|
||||
422
CHANGELOG.md
422
CHANGELOG.md
@@ -3,12 +3,428 @@
|
||||
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
||||
</a>
|
||||
</div>
|
||||
<h1 align="center">Change Log</h1>
|
||||
<h1 align="center">Changelog</h1>
|
||||
|
||||
<h3 align="center">All notable changes to this project will be documented in this file.</h3>
|
||||
|
||||
- All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||
- 🚨 **The scripts in the repository will no longer provide support for Proxmox VE 7 starting from July 2024 (scripts will not execute on PVE7). Subsequent <a href='https://forum.proxmox.com/threads/proxmox-ve-support-lifecycle.35755/' target='_blank' rel='noopener noreferrer'>Proxmox VE - Support Lifecycle</a>**
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
> [!NOTE]
|
||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||
|
||||
## 2024-10-27
|
||||
|
||||
### Changed
|
||||
|
||||
- **Open WebUI LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/8a21f6e7f025a911865395d4c0fa9a001bd0d512)
|
||||
- Refactor Script to add an option to install Ollama.
|
||||
|
||||
## 2024-10-26
|
||||
|
||||
### Changed
|
||||
|
||||
- **AdventureLog LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/adventurelog-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-10-25
|
||||
|
||||
### Changed
|
||||
|
||||
- **Zoraxy LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/468a5d367ded4cf453a1507452e112ac3e234e2a)
|
||||
- Switch built from source to a pre-compiled binary version.
|
||||
- Breaking Change
|
||||
|
||||
## 2024-10-23
|
||||
|
||||
### Changed
|
||||
|
||||
- **Wallos LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/wallos-install.sh)
|
||||
- NEW Script
|
||||
- **Open WebUI LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/openwebui-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-10-19
|
||||
|
||||
### Changed
|
||||
|
||||
- **Cockpit LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/cockpit-install.sh)
|
||||
- NEW Script
|
||||
- **Neo4j LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/neo4j-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-10-18
|
||||
|
||||
### Changed
|
||||
|
||||
- **ArchiveBox LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/archivebox-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-10-15
|
||||
|
||||
### Changed
|
||||
|
||||
- **evcc LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/evcc-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-10-10
|
||||
|
||||
### Changed
|
||||
|
||||
- **MySQL LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/mysql-install.sh)
|
||||
- NEW Script
|
||||
- **Tianji LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/4c83a790ac9b040da1f11ad2cbe13d3fc5f480e9)
|
||||
- Breaking Change
|
||||
- Switch from `pm2` process management to `systemd`
|
||||
|
||||
## 2024-10-03
|
||||
|
||||
### Changed
|
||||
|
||||
- **Home Assistant Core LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/f2937febe69b2bad8b3a14eb84aa562a8f14cc6a) [(Commit)](https://github.com/tteck/Proxmox/commit/f2966ced7f457fd506f865f7f5b70ea12c4b0049)
|
||||
- Refactor Code
|
||||
- Breaking Change
|
||||
- Home Assistant has transitioned to using `uv` for managing the virtual environment and installing additional modules.
|
||||
|
||||
## 2024-09-16
|
||||
|
||||
### Changed
|
||||
|
||||
- **HomeBox LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/homebox-install.sh)
|
||||
- NEW Script
|
||||
- **Zipline LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zipline-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-09-13
|
||||
|
||||
### Changed
|
||||
|
||||
- **Tianji LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/tianji-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-08-21
|
||||
|
||||
### Changed
|
||||
|
||||
- **WireGuard LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/723365a79df7cc0fd29b1af8f7ef200a7e0921b1)
|
||||
- Refactor Code
|
||||
- Breaking Change
|
||||
|
||||
## 2024-08-19
|
||||
|
||||
### Changed
|
||||
|
||||
- **CommaFeed LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/0a33d1739ec3a49011411929bd46a260e92e99f9)
|
||||
- Refactor Code
|
||||
- Breaking Change
|
||||
|
||||
## 2024-08-06
|
||||
|
||||
### Changed
|
||||
|
||||
- **lldap LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/lldap-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-07-26
|
||||
|
||||
### Changed
|
||||
|
||||
- **Gitea LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/gitea-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-06-30
|
||||
|
||||
### Changed
|
||||
|
||||
- **All Scripts** [(Commit)](https://github.com/tteck/Proxmox/commit/39ea1d4a20b83c07d084ebafdc811eec3548f289)
|
||||
- Requires Proxmox Virtual Environment version 8.1 or later.
|
||||
|
||||
## 2024-06-27
|
||||
|
||||
### Changed
|
||||
|
||||
- **Kubo LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/kubo-install.sh)
|
||||
- NEW Script
|
||||
- **RabbitMQ LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/rabbitmq-install.sh)
|
||||
- NEW Script
|
||||
- **Scrutiny LXC**
|
||||
- Removed from website, broken.
|
||||
|
||||
## 2024-06-26
|
||||
|
||||
### Changed
|
||||
|
||||
- **Scrutiny LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-06-14
|
||||
|
||||
### Changed
|
||||
|
||||
- **MySpeed LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/myspeed-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-06-13
|
||||
|
||||
### Changed
|
||||
|
||||
- **PeaNUT LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/peanut-install.sh)
|
||||
- NEW Script
|
||||
- **Website**
|
||||
- If the Changelog has changed recently, the link on the website will pulse.
|
||||
- **Spoolman LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/spoolman-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-06-12
|
||||
|
||||
### Changed
|
||||
|
||||
- **MeTube LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/metube-install.sh)
|
||||
- NEW Script
|
||||
- **Matterbridge LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/matterbridge-install.sh)
|
||||
- NEW Script
|
||||
- **Website**
|
||||
- Reopen the gh-pages site (https://tteck.github.io/Proxmox/)
|
||||
|
||||
## 2024-06-11
|
||||
|
||||
### Changed
|
||||
|
||||
- **Zabbix LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zabbix-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-06-06
|
||||
|
||||
### Changed
|
||||
|
||||
- **Petio LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/petio-install.sh)
|
||||
- NEW Script
|
||||
- **Website**
|
||||
- Important notices will now be displayed on the landing page.
|
||||
|
||||
## 2024-06-04
|
||||
|
||||
### Changed
|
||||
|
||||
- **FlareSolverr LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/flaresolverr-install.sh)
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-31
|
||||
|
||||
### Changed
|
||||
|
||||
- **Advanced Settings** [(Commit)](https://github.com/tteck/Proxmox/commit/fc9dff220b4ea426d3a75178ad8accacae4683ca)
|
||||
- Passwords are now masked
|
||||
|
||||
## 2024-05-30
|
||||
|
||||
### Changed
|
||||
|
||||
- **Forgejo LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-28
|
||||
|
||||
### Changed
|
||||
|
||||
- **Notifiarr LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-25
|
||||
|
||||
### Changed
|
||||
|
||||
- **Threadfin LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-23
|
||||
|
||||
### Changed
|
||||
|
||||
- **BunkerWeb LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-20
|
||||
|
||||
### Changed
|
||||
|
||||
- **Traefik LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-19
|
||||
|
||||
### Changed
|
||||
|
||||
- **NetBird**
|
||||
- NEW Script
|
||||
- **Tailscale**
|
||||
- Refactor Code
|
||||
|
||||
## 2024-05-18
|
||||
|
||||
### Changed
|
||||
|
||||
- **MongoDB LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-17
|
||||
|
||||
### Changed
|
||||
|
||||
- **New Website**
|
||||
- We have officially moved to [Helper-Scripts.com](https://helper-scripts.com)
|
||||
|
||||
## 2024-05-16
|
||||
|
||||
### Changed
|
||||
|
||||
- **iVentoy LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-13
|
||||
|
||||
### Changed
|
||||
|
||||
- **Headscale LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-11
|
||||
|
||||
### Changed
|
||||
|
||||
- **Caddy LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-09
|
||||
|
||||
### Changed
|
||||
|
||||
- **Umami LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-08
|
||||
|
||||
### Changed
|
||||
|
||||
- **Kernel Pin**
|
||||
- NEW Script
|
||||
- **Home Assistant Core LXC**
|
||||
- Ubuntu 24.04 ONLY
|
||||
|
||||
## 2024-05-07
|
||||
|
||||
### Changed
|
||||
|
||||
- **Pocketbase LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-05
|
||||
|
||||
### Changed
|
||||
|
||||
- **Fenrus LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-02
|
||||
|
||||
### Changed
|
||||
|
||||
- **OpenMediaVault LXC**
|
||||
- Set Debian 12 as default
|
||||
- OpenMediaVault 7 (sandworm)
|
||||
|
||||
## 2024-04-30
|
||||
|
||||
### Changed
|
||||
|
||||
- **Tdarr LXC**
|
||||
- Default settings are now **Unprivileged**
|
||||
- Unprivileged Hardware Acceleration
|
||||
|
||||
## 2024-04-29
|
||||
|
||||
### Changed
|
||||
|
||||
- **ErsatzTV LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-04-28
|
||||
|
||||
### Changed
|
||||
|
||||
- **Scrypted LXC**
|
||||
- Unprivileged Hardware Acceleration
|
||||
- **Emby LXC**
|
||||
- Unprivileged Hardware Acceleration
|
||||
|
||||
## 2024-04-27
|
||||
|
||||
### Changed
|
||||
|
||||
- **Frigate LXC**
|
||||
- Unprivileged Hardware Acceleration https://github.com/tteck/Proxmox/discussions/2711#discussioncomment-9244629
|
||||
- **Ubuntu 24.04 VM**
|
||||
- NEW Script
|
||||
|
||||
## 2024-04-26
|
||||
|
||||
### Changed
|
||||
|
||||
- **Glances**
|
||||
- NEW Script
|
||||
|
||||
## 2024-04-25
|
||||
|
||||
### Changed
|
||||
|
||||
- **Jellyfin LXC**
|
||||
- Default settings are now **Unprivileged**
|
||||
- Unprivileged Hardware Acceleration
|
||||
- Groups are set automatically
|
||||
- Checks for the existence of `/dev/dri/card0` if not found, use `/dev/dri/card1`. Set the GID to `44`
|
||||
- Set the GID for `/dev/dri/renderD128` to `104`
|
||||
- Not tested <8.1.11
|
||||
- **Plex LXC**
|
||||
- Default settings are now **Unprivileged**
|
||||
- Unprivileged Hardware Acceleration
|
||||
- Groups are set automatically
|
||||
- Checks for the existence of `/dev/dri/card0` if not found, use `/dev/dri/card1`. Set the GID to `44`
|
||||
- Set the GID for `/dev/dri/renderD128` to `104`
|
||||
- Not tested <8.1.11
|
||||
|
||||
## 2024-04-24
|
||||
|
||||
### Changed
|
||||
|
||||
- **Traccar LXC**
|
||||
- NEW Script
|
||||
- **Calibre-Web LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-04-21
|
||||
|
||||
### Changed
|
||||
|
||||
- **Aria2 LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-04-15
|
||||
|
||||
### Changed
|
||||
|
||||
- **Homarr LXC**
|
||||
- Add back to website
|
||||
- **Umbrel LXC**
|
||||
- Add back to website
|
||||
- **OpenMediaVault LXC**
|
||||
- Add back to website
|
||||
|
||||
## 2024-04-12
|
||||
|
||||
### Changed
|
||||
|
||||
- **OpenMediaVault LXC**
|
||||
- Removed from website
|
||||
|
||||
## 2024-04-09
|
||||
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021-2023 tteck
|
||||
Copyright (c) 2021-2024 tteck
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div style="border: 2px solid #d1d5db; padding: 20px; border-radius: 8px; background-color: #f9fafb;"> <h2 align="center">Proxmox VE Helper-Scripts: A Community Legacy</h2> <p>Dear Community,</p> <p>As we prepare to archive this repository, we’re excited to announce a new home for the project: <a href="https://github.com/community-scripts/ProxmoxVE">https://github.com/community-scripts/ProxmoxVE</a>. While we’re still settling in, this will soon become the go-to place for the latest Proxmox VE scripts.</p> <p>Thank you for your continued support.</p> <br>The Community </div>
|
||||
<div align="center">
|
||||
<a href="#">
|
||||
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
||||
@@ -6,7 +7,7 @@
|
||||
<h1 align="center">Proxmox VE Helper-Scripts</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://helper-scripts.com/">Website</a> |
|
||||
<a href="https://helper-scripts.com">Website</a> |
|
||||
<a href="https://github.com/tteck/Proxmox/blob/main/.github/CONTRIBUTING.md">Contribute</a> |
|
||||
<a href="https://github.com/tteck/Proxmox/blob/main/USER_SUBMITTED_GUIDES.md">Guides</a> |
|
||||
<a href="https://github.com/tteck/Proxmox/blob/main/CHANGELOG.md">Changelog</a> |
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
<sub> In order to contribute a guide on installing with Proxmox VE Helper Scripts, you should open a pull request that adds the guide to the `USER_SUBMITTED_GUIDES.md` file. </sub>
|
||||
|
||||
[Proxmox Automation with Proxmox Helper Scripts!](https://www.youtube.com/watch?v=kcpu4z5eSEU)
|
||||
|
||||
[Installing Home Assistant OS using Proxmox 8](https://community.home-assistant.io/t/installing-home-assistant-os-using-proxmox-8/201835)
|
||||
|
||||
[How To Separate Zigbee2MQTT From Home Assistant In Proxmox](https://smarthomescene.com/guides/how-to-separate-zigbee2mqtt-from-home-assistant-in-proxmox/)
|
||||
@@ -36,3 +38,7 @@
|
||||
[Proxmox + NetData](<https://dbt3ch.com/books/proxmox-netdata-for-better-insights-and-notifications/page/proxmox-netdata-for-better-insights-and-notifications>)
|
||||
|
||||
[Proxmox Homelab Series](<https://blog.kye.dev/proxmox-series>)
|
||||
|
||||
[The fastest installation of Docker and Portainer on Proxmox VE](https://lavr.site/en-fastest-install-docker-portainer-proxmox/)
|
||||
|
||||
[How To Setup Proxmox Backuper Server Using Helper Scripts](<https://youtu.be/6C2JOsrZZZw?si=kkrrcL_nLCDBJkOB>)
|
||||
|
||||
@@ -57,9 +57,9 @@ header_info
|
||||
if [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP}"
|
||||
systemctl stop actualbudget.service
|
||||
/opt/actualbudget
|
||||
git pull
|
||||
yarn install
|
||||
cd /opt/actualbudget
|
||||
git pull &>/dev/null
|
||||
yarn install &>/dev/null
|
||||
systemctl start actualbudget.service
|
||||
msg_ok "Successfully Updated ${APP}"
|
||||
exit
|
||||
|
||||
110
ct/adventurelog.sh
Normal file
110
ct/adventurelog.sh
Normal file
@@ -0,0 +1,110 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
___ __ __ __
|
||||
/ | ____/ / _____ ____ / /___ __________ / / ____ ____ _
|
||||
/ /| |/ __ / | / / _ \/ __ \/ __/ / / / ___/ _ \/ / / __ \/ __ `/
|
||||
/ ___ / /_/ /| |/ / __/ / / / /_/ /_/ / / / __/ /___/ /_/ / /_/ /
|
||||
/_/ |_\__,_/ |___/\___/_/ /_/\__/\__,_/_/ \___/_____/\____/\__, /
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="AdventureLog"
|
||||
var_disk="7"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/adventurelog ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop adventurelog-backend
|
||||
systemctl stop adventurelog-frontend
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cp /opt/adventurelog/backend/server/.env /opt/server.env
|
||||
cp /opt/adventurelog/frontend/env /opt/frontend.env
|
||||
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv AdventureLog-${RELEASE} /opt/adventurelog
|
||||
mv /opt/server.env /opt/adventurelog/backend/server/.env
|
||||
cd /opt/adventurelog/backend/server
|
||||
pip install --upgrade pip &>/dev/null
|
||||
pip install -r requirements.txt &>/dev/null
|
||||
python3 manage.py collectstatic --noinput &>/dev/null
|
||||
python3 manage.py migrate &>/dev/null
|
||||
|
||||
mv /opt/frontend.env /opt/adventurelog/frontend/.env
|
||||
cd /opt/adventurelog/frontend
|
||||
pnpm install &>/dev/null
|
||||
pnpm run build &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start adventurelog-backend
|
||||
systemctl start adventurelog-frontend
|
||||
msg_ok "Started Services"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf v${RELEASE}.zip
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
@@ -20,7 +20,7 @@ EOF
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Alpine-Grafana"
|
||||
var_disk="0.5"
|
||||
var_disk="1"
|
||||
var_cpu="1"
|
||||
var_ram="256"
|
||||
var_os="alpine"
|
||||
|
||||
@@ -60,12 +60,10 @@ function update_script() {
|
||||
if ! apk -e info newt >/dev/null 2>&1; then
|
||||
apk add -q newt
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/nextcloud/server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
while true; do
|
||||
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
||||
"1" "Update Nextcloud to $RELEASE" OFF \
|
||||
"2" "Nextcloud Login Credentials" ON \
|
||||
"3" "Renew Self-signed Certificate" OFF \
|
||||
"1" "Nextcloud Login Credentials" ON \
|
||||
"2" "Renew Self-signed Certificate" OFF \
|
||||
3>&1 1>&2 2>&3)
|
||||
exit_status=$?
|
||||
if [ $exit_status == 1 ]; then
|
||||
@@ -75,22 +73,10 @@ function update_script() {
|
||||
header_info
|
||||
case $CHOICE in
|
||||
1)
|
||||
apk update && apk upgrade
|
||||
if ! apk -e info php82-sodium >/dev/null 2>&1; then
|
||||
apk add -q php82-sodium
|
||||
fi
|
||||
if ! apk -e info php82-bz2 >/dev/null 2>&1; then
|
||||
apk add -q php82-bz2
|
||||
fi
|
||||
su nextcloud -s /bin/sh -c 'php82 /usr/share/webapps/nextcloud/occ upgrade'
|
||||
su nextcloud -s /bin/sh -c 'php82 /usr/share/webapps/nextcloud/occ db:add-missing-indices'
|
||||
exit
|
||||
;;
|
||||
2)
|
||||
cat nextcloud.creds
|
||||
exit
|
||||
;;
|
||||
3)
|
||||
2)
|
||||
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" > /dev/null 2>&1
|
||||
rc-service nginx restart
|
||||
exit
|
||||
|
||||
@@ -71,7 +71,7 @@ function update_script() {
|
||||
header_info
|
||||
case $CHOICE in
|
||||
1)
|
||||
apk update && apk upgrade
|
||||
apk update && apk upgrade && rc-service vaultwarden restart -q
|
||||
exit
|
||||
;;
|
||||
2)
|
||||
|
||||
86
ct/archivebox.sh
Normal file
86
ct/archivebox.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
___ __ _ ____
|
||||
/ | __________/ /_ (_) _____ / __ )____ _ __
|
||||
/ /| | / ___/ ___/ __ \/ / | / / _ \/ __ / __ \| |/_/
|
||||
/ ___ |/ / / /__/ / / / /| |/ / __/ /_/ / /_/ /> <
|
||||
/_/ |_/_/ \___/_/ /_/_/ |___/\___/_____/\____/_/|_|
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="ArchiveBox"
|
||||
var_disk="8"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/archivebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop archivebox
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/archivebox/data
|
||||
pip install --upgrade --ignore-installed archivebox
|
||||
sudo -u archivebox archivebox init
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start archivebox
|
||||
msg_ok "Started ${APP}"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8000/admin/login${CL} \n"
|
||||
70
ct/aria2.sh
Normal file
70
ct/aria2.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
___ _ ___
|
||||
/ | _____(_)___ |__ \
|
||||
/ /| | / ___/ / __ `/_/ /
|
||||
/ ___ |/ / / / /_/ / __/
|
||||
/_/ |_/_/ /_/\__,_/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Aria2"
|
||||
var_disk="8"
|
||||
var_cpu="2"
|
||||
var_ram="1028"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:6880${CL}"
|
||||
86
ct/bunkerweb.sh
Normal file
86
ct/bunkerweb.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __ _ __ __
|
||||
/ __ )__ ______ / /_____ ____| | / /__ / /_
|
||||
/ __ / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
|
||||
/ /_/ / /_/ / / / / ,< / __/ / | |/ |/ / __/ /_/ /
|
||||
/_____/\__,_/_/ /_/_/|_|\___/_/ |__/|__/\___/_.___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="BunkerWeb"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cat <<EOF >/etc/apt/preferences.d/bunkerweb
|
||||
Package: bunkerweb
|
||||
Pin: version ${RELEASE}
|
||||
Pin-Priority: 1001
|
||||
EOF
|
||||
apt-get update
|
||||
apt-get install -y nginx=1.26.2*
|
||||
apt-get install -y bunkerweb=${RELEASE}
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}/setup${CL} \n"
|
||||
69
ct/caddy.sh
Normal file
69
ct/caddy.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ __ __
|
||||
/ ____/___ _____/ /___/ /_ __
|
||||
/ / / __ `/ __ / __ / / / /
|
||||
/ /___/ /_/ / /_/ / /_/ / /_/ /
|
||||
\____/\__,_/\__,_/\__,_/\__, /
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Caddy"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/caddy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
164
ct/calibre-web.sh
Normal file
164
ct/calibre-web.sh
Normal file
@@ -0,0 +1,164 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: remz1337
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ ___ __ _ __ __
|
||||
/ ____/___ _/ (_) /_ ________ | | / /__ / /_
|
||||
/ / / __ `/ / / __ \/ ___/ _ \___| | /| / / _ \/ __ \
|
||||
/ /___/ /_/ / / / /_/ / / / __/___/ |/ |/ / __/ /_/ /
|
||||
\____/\__,_/_/_/_.___/_/ \___/ |__/|__/\___/_.___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Calibre-Web"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
if [[ ! -f /etc/systemd/system/cps.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
header_info
|
||||
msg_info "Updating $APP LXC"
|
||||
systemctl stop cps
|
||||
cd /opt/kepubify
|
||||
rm kepubify-linux-64bit
|
||||
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit &>/dev/null
|
||||
chmod +x kepubify-linux-64bit
|
||||
menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
|
||||
"2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \
|
||||
"3" "Enables displaying of additional author infos on the authors page" OFF \
|
||||
"4" "Enables login via LDAP server" OFF \
|
||||
"5" "Enables login via google or github oauth" OFF \
|
||||
"6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
|
||||
"7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
|
||||
"8" "Enables syncing with your kobo reader" OFF )
|
||||
if [ -f "/opt/calibre-web/options.txt" ]; then
|
||||
cps_options="$(cat /opt/calibre-web/options.txt)"
|
||||
IFS=',' read -ra ADDR <<< "$cps_options"
|
||||
for i in "${ADDR[@]}"; do
|
||||
if [ $i == "gdrive" ]; then
|
||||
line=0
|
||||
elif [ $i == "gmail" ]; then
|
||||
line=1
|
||||
elif [ $i == "goodreads" ]; then
|
||||
line=2
|
||||
elif [ $i == "ldap" ]; then
|
||||
line=3
|
||||
elif [ $i == "oauth" ]; then
|
||||
line=4
|
||||
elif [ $i == "metadata" ]; then
|
||||
line=5
|
||||
elif [ $i == "comics" ]; then
|
||||
line=6
|
||||
elif [ $i == "kobo" ]; then
|
||||
line=7
|
||||
fi
|
||||
array_index=$(( 3*line + 2 ))
|
||||
menu_array[$array_index]=ON
|
||||
done
|
||||
fi
|
||||
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
|
||||
CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
|
||||
spinner &
|
||||
SPINNER_PID=$!
|
||||
options=()
|
||||
if [ ! -z "$CHOICES" ]; then
|
||||
for CHOICE in $CHOICES; do
|
||||
case "$CHOICE" in
|
||||
"1")
|
||||
options+=( gdrive )
|
||||
;;
|
||||
"2")
|
||||
options+=( gmail )
|
||||
;;
|
||||
"3")
|
||||
options+=( goodreads )
|
||||
;;
|
||||
"4")
|
||||
options+=( ldap )
|
||||
apt-get install -qqy libldap2-dev libsasl2-dev
|
||||
;;
|
||||
"5")
|
||||
options+=( oauth )
|
||||
;;
|
||||
"6")
|
||||
options+=( metadata )
|
||||
;;
|
||||
"7")
|
||||
options+=( comics )
|
||||
;;
|
||||
"8")
|
||||
options+=( kobo )
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported item $CHOICE!" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ ! -z "$options" ] && [ ${#options[@]} -gt 0 ]; then
|
||||
cps_options=$(IFS=, ; echo "${options[*]}")
|
||||
echo $cps_options > /opt/calibre-web/options.txt
|
||||
pip install --upgrade calibreweb[$cps_options]
|
||||
else
|
||||
rm /opt/calibre-web/options.txt 2> /dev/null
|
||||
pip install --upgrade calibreweb
|
||||
fi
|
||||
systemctl start cps
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 512
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8083${CL} \n"
|
||||
@@ -62,6 +62,17 @@ if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
|
||||
fi
|
||||
pip3 install changedetection.io --upgrade &>/dev/null
|
||||
pip3 install playwright --upgrade &>/dev/null
|
||||
if [[ -f /etc/systemd/system/browserless.service ]]; then
|
||||
git -C /opt/browserless/ fetch --all &>/dev/null
|
||||
git -C /opt/browserless/ reset --hard origin/main &>/dev/null
|
||||
npm update --prefix /opt/browserless &>/dev/null
|
||||
npm run build --prefix /opt/browserless &>/dev/null
|
||||
npm run build:function --prefix /opt/browserless &>/dev/null
|
||||
npm prune production --prefix /opt/browserless &>/dev/null
|
||||
systemctl restart browserless
|
||||
else
|
||||
msg_error "No Browserless Installation Found!"
|
||||
fi
|
||||
systemctl restart changedetection
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
|
||||
125
ct/cockpit.sh
Normal file
125
ct/cockpit.sh
Normal file
@@ -0,0 +1,125 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: havardthom
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ __ _ __
|
||||
/ ____/___ _____/ /______ (_) /_
|
||||
/ / / __ \/ ___/ //_/ __ \/ / __/
|
||||
/ /___/ /_/ / /__/ ,< / /_/ / / /_
|
||||
\____/\____/\___/_/|_/ .___/_/\__/
|
||||
/_/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Cockpit"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
if [[ ! -d /etc/cockpit ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
||||
"1" "Update LXC" ON \
|
||||
"2" "Install cockpit-file-sharing" OFF \
|
||||
"3" "Install cockpit-identities" OFF \
|
||||
"4" "Install cockpit-navigator" OFF \
|
||||
3>&1 1>&2 2>&3)
|
||||
|
||||
header_info
|
||||
if [ "$UPD" == "1" ]; then
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "2" ]; then
|
||||
msg_info "Installing dependencies (patience)"
|
||||
apt-get install -y attr &>/dev/null
|
||||
apt-get install -y nfs-kernel-server &>/dev/null
|
||||
apt-get install -y samba &>/dev/null
|
||||
apt-get install -y samba-common-bin &>/dev/null
|
||||
apt-get install -y winbind &>/dev/null
|
||||
apt-get install -y gawk &>/dev/null
|
||||
msg_ok "Installed dependencies"
|
||||
msg_info "Installing Cockpit file sharing"
|
||||
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q https://github.com/45Drives/cockpit-file-sharing/releases/download/v${LATEST}/cockpit-file-sharing_${LATEST}-1focal_all.deb
|
||||
dpkg -i cockpit-file-sharing_${LATEST}-1focal_all.deb &>/dev/null
|
||||
rm cockpit-file-sharing_${LATEST}-1focal_all.deb
|
||||
msg_ok "Installed Cockpit file sharing"
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "3" ]; then
|
||||
msg_info "Installing dependencies (patience)"
|
||||
apt-get install -y psmisc &>/dev/null
|
||||
apt-get install -y samba &>/dev/null
|
||||
apt-get install -y samba-common-bin &>/dev/null
|
||||
msg_ok "Installed dependencies"
|
||||
msg_info "Installing Cockpit identities"
|
||||
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q https://github.com/45Drives/cockpit-identities/releases/download/v${LATEST}/cockpit-identities_${LATEST}-1focal_all.deb
|
||||
dpkg -i cockpit-identities_${LATEST}-1focal_all.deb &>/dev/null
|
||||
rm cockpit-identities_${LATEST}-1focal_all.deb
|
||||
msg_ok "Installed Cockpit identities"
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "4" ]; then
|
||||
msg_info "Installing dependencies"
|
||||
apt-get install -y rsync &>/dev/null
|
||||
apt-get install -y zip &>/dev/null
|
||||
msg_ok "Installed dependencies"
|
||||
msg_info "Installing Cockpit navigator"
|
||||
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q https://github.com/45Drives/cockpit-navigator/releases/download/v${LATEST}/cockpit-navigator_${LATEST}-1focal_all.deb
|
||||
dpkg -i cockpit-navigator_${LATEST}-1focal_all.deb &>/dev/null
|
||||
rm cockpit-navigator_${LATEST}-1focal_all.deb
|
||||
msg_ok "Installed Cockpit navigator"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:9090${CL} \n"
|
||||
@@ -55,19 +55,27 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Stopping CommaFeed"
|
||||
RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop commafeed
|
||||
msg_ok "Stopped CommaFeed"
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating CommaFeed"
|
||||
cd /opt/commafeed
|
||||
rm commafeed.jar
|
||||
wget -q https://github.com/Athou/commafeed/releases/latest/download/commafeed.jar
|
||||
msg_ok "Updated CommaFeed"
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
|
||||
unzip -q commafeed-${RELEASE}-h2-jvm.zip
|
||||
rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
|
||||
rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting CommaFeed"
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start commafeed
|
||||
msg_ok "Update Completed Successfully"
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ CL=$(echo "\033[m")
|
||||
CM="${GN}✓${CL}"
|
||||
CROSS="${RD}✗${CL}"
|
||||
BFR="\\r\\033[K"
|
||||
HOLD="-"
|
||||
HOLD=" "
|
||||
|
||||
# This sets error handling options and defines the error_handler function to handle errors
|
||||
set -Eeuo pipefail
|
||||
@@ -36,11 +36,11 @@ function error_handler() {
|
||||
|
||||
# This function displays a spinner.
|
||||
function spinner() {
|
||||
local chars="/-\|"
|
||||
local spin_i=0
|
||||
printf "\e[?25l"
|
||||
spinner="/-\\|/-\\|"
|
||||
spin_i=0
|
||||
while true; do
|
||||
printf "\b%s" "${spinner:spin_i++%${#spinner}:1}"
|
||||
printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
|
||||
sleep 0.1
|
||||
done
|
||||
}
|
||||
|
||||
30
ct/dashy.sh
30
ct/dashy.sh
@@ -55,38 +55,48 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
|
||||
RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop dashy
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Backing up conf.yml"
|
||||
cd ~
|
||||
if [[ -f /opt/dashy/public/conf.yml ]]; then
|
||||
cp -R /opt/dashy/public/conf.yml conf.yml
|
||||
else
|
||||
cp -R /opt/dashy/user-data/conf.yml conf.yml
|
||||
fi
|
||||
msg_ok "Backed up conf.yml"
|
||||
|
||||
msg_info "Updating Dashy"
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
rm -rf /opt/dashy
|
||||
mkdir -p /opt/dashy
|
||||
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
|
||||
cd /opt/dashy
|
||||
git merge &>/dev/null
|
||||
git pull origin master &>/dev/null
|
||||
yarn &>/dev/null
|
||||
yarn build &>/dev/null
|
||||
msg_ok "Updated Dashy"
|
||||
npm install
|
||||
npm run build
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Restoring conf.yml"
|
||||
cd ~
|
||||
cp -R conf.yml /opt/dashy/public
|
||||
cp -R conf.yml /opt/dashy/user-data
|
||||
msg_ok "Restored conf.yml"
|
||||
|
||||
msg_info "Cleaning"
|
||||
rm -rf conf.yml
|
||||
rm -rf conf.yml /opt/dashy/public/conf.yml
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting Dashy"
|
||||
systemctl start dashy
|
||||
msg_ok "Started Dashy"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __ _
|
||||
/ __ \___ / /_ (_)___ _____
|
||||
/ __ \___ / /_ (_)___ ____
|
||||
/ / / / _ \/ __ \/ / __ `/ __ \
|
||||
/ /_/ / __/ /_/ / / /_/ / / / /
|
||||
/_____/\___/_.___/_/\__,_/_/ /_/
|
||||
|
||||
@@ -29,7 +29,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
89
ct/ersatztv.sh
Normal file
89
ct/ersatztv.sh
Normal file
@@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
# Source: https://github.com/ErsatzTV/ErsatzTV/
|
||||
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ __ _______ __
|
||||
/ ____/_____________ _/ /_____/_ __/ | / /
|
||||
/ __/ / ___/ ___/ __ `/ __/_ / / / | | / /
|
||||
/ /___/ / (__ ) /_/ / /_ / /_/ / | |/ /
|
||||
/_____/_/ /____/\__,_/\__/ /___/_/ |___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="ErsatzTV"
|
||||
var_disk="5"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
|
||||
msg_info "Stopping ErsatzTV"
|
||||
systemctl stop ersatzTV
|
||||
msg_ok "Stopped ErsatzTV"
|
||||
|
||||
msg_info "Updating ErsatzTV"
|
||||
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
||||
cp -R /opt/ErsatzTV/ ErsatzTV-backup
|
||||
rm ErsatzTV-backup/ErsatzTV
|
||||
rm -rf /opt/ErsatzTV
|
||||
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
||||
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
||||
cp -R ErsatzTV-backup/* /opt/ErsatzTV/
|
||||
rm -rf ErsatzTV-backup
|
||||
msg_ok "Updated ErsatzTV"
|
||||
|
||||
msg_info "Starting ErsatzTV"
|
||||
systemctl start ersatzTV
|
||||
msg_ok "Started ErsatzTV"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8409${CL} \n"
|
||||
70
ct/evcc.sh
Normal file
70
ct/evcc.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
___ _ ____________
|
||||
/ _ \ | / / ___/ ___/
|
||||
/ __/ |/ / /__/ /__
|
||||
\___/|___/\___/\___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="evcc"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating evcc LXC"
|
||||
apt update &>/dev/null
|
||||
apt --only-upgrade install -y evcc &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:7070${CL} \n"
|
||||
93
ct/fenrus.sh
Normal file
93
ct/fenrus.sh
Normal file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: Scorpoon
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______
|
||||
/ ____/__ ____ _______ _______
|
||||
/ /_ / _ \/ __ \/ ___/ / / / ___/
|
||||
/ __/ / __/ / / / / / /_/ (__ )
|
||||
/_/ \___/_/ /_/_/ \__,_/____/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Fenrus"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
msg_info "Updating ${APP}"
|
||||
systemctl stop ${APP}
|
||||
git clone https://github.com/revenz/Fenrus.git
|
||||
cd Fenrus || exit
|
||||
gitVersionNumber=$(git rev-parse HEAD)
|
||||
|
||||
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
mkdir /opt/fenrus-data-backup
|
||||
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
|
||||
if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
|
||||
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
|
||||
echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
|
||||
rm -r /opt/fenrus-data-backup/
|
||||
msg_ok "Updated $APP"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already up to date"
|
||||
fi
|
||||
cd ..
|
||||
rm -r Fenrus/
|
||||
|
||||
systemctl start ${APP}
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5000${CL} \n"
|
||||
86
ct/flaresolverr.sh
Normal file
86
ct/flaresolverr.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: remz1337
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
________ _____ __
|
||||
/ ____/ /___ _________ / ___/____ / / _____ __________
|
||||
/ /_ / / __ `/ ___/ _ \\__ \/ __ \/ / | / / _ \/ ___/ ___/
|
||||
/ __/ / / /_/ / / / __/__/ / /_/ / /| |/ / __/ / / /
|
||||
/_/ /_/\__,_/_/ \___/____/\____/_/ |___/\___/_/ /_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="FlareSolverr"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Updating $APP LXC"
|
||||
systemctl stop flaresolverr
|
||||
wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz
|
||||
tar -xzf flaresolverr_linux_x64.tar.gz -C /opt
|
||||
rm flaresolverr_linux_x64.tar.gz
|
||||
systemctl start flaresolverr
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated $APP LXC"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 512
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8191${CL} \n"
|
||||
@@ -20,8 +20,8 @@ header_info
|
||||
echo -e "Loading..."
|
||||
APP="FlowiseAI"
|
||||
var_disk="10"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
@@ -55,6 +55,7 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
msg_info "Updating ${APP}"
|
||||
systemctl stop flowise
|
||||
npm install -g flowise --upgrade
|
||||
@@ -67,6 +68,10 @@ start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 2048
|
||||
pct set $CTID -cores 2
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
|
||||
89
ct/forgejo.sh
Normal file
89
ct/forgejo.sh
Normal file
@@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ _
|
||||
/ ____/___ _________ ___ (_)___
|
||||
/ /_ / __ \/ ___/ __ `/ _ \ / / __ \
|
||||
/ __/ / /_/ / / / /_/ / __/ / / /_/ /
|
||||
/_/ \____/_/ \__, /\___/_/ /\____/
|
||||
/____/ /___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Forgejo"
|
||||
var_disk="10"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/forgejo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop forgejo
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
|
||||
wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
|
||||
rm -rf /opt/forgejo/*
|
||||
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
|
||||
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
|
||||
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Cleaning"
|
||||
rm -rf forgejo-$RELEASE-linux-amd64
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start forgejo
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
@@ -55,7 +55,7 @@ function default_settings() {
|
||||
|
||||
function update_script() {
|
||||
if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
msg_error "To update Frigate, create a new container and transfer your configuration."
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
77
ct/gitea.sh
Normal file
77
ct/gitea.sh
Normal file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-author: Rogue-King
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ _ __
|
||||
/ ____/(_)/ /____ ____ _
|
||||
/ / __// // __/ _ \/ __ /
|
||||
/ /_/ // // /_/ __/ /_/ /
|
||||
\____//_/ \__/\___/\__,_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Gitea"
|
||||
var_disk="8"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /usr/local/bin/gitea ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
|
||||
systemctl stop gitea
|
||||
rm -rf /usr/local/bin/gitea
|
||||
mv gitea* /usr/local/bin/gitea
|
||||
chmod +x /usr/local/bin/gitea
|
||||
systemctl start gitea
|
||||
msg_ok "Updated $APP Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
24
ct/gotify.sh
24
ct/gotify.sh
@@ -55,7 +55,29 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop gotify
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt/gotify
|
||||
wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
|
||||
unzip -oq gotify-linux-amd64.zip
|
||||
rm -rf gotify-linux-amd64.zip
|
||||
chmod +x gotify-linux-amd64
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start gotify
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
86
ct/headscale.sh
Normal file
86
ct/headscale.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ __ __ __
|
||||
/ / / /__ ____ _____/ /_____________ _/ /__
|
||||
/ /_/ / _ \/ __ `/ __ / ___/ ___/ __ `/ / _ \
|
||||
/ __ / __/ /_/ / /_/ (__ ) /__/ /_/ / / __/
|
||||
/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Headscale"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/headscale ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop headscale
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
|
||||
dpkg -i headscale_${RELEASE}_linux_amd64.deb
|
||||
rm headscale_${RELEASE}_linux_amd64.deb
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated $APP to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start headscale
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
20
ct/homarr.sh
20
ct/homarr.sh
@@ -57,19 +57,15 @@ header_info
|
||||
if [[ ! -d /opt/homarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP (Patience)"
|
||||
systemctl stop homarr
|
||||
rm -rf /root/data-homarr-backup
|
||||
rm -rf /root/database-homarr-backup
|
||||
cp -R /opt/homarr/data /root/data-homarr-backup
|
||||
cp -R /opt/homarr/database /root/database-homarr-backup
|
||||
RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q -O- https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.tar.gz | tar -xz -C /opt
|
||||
cp -R /opt/homarr-${RELEASE}/* /opt/homarr
|
||||
cp -R /root/data-homarr-backup/* /opt/homarr/data
|
||||
cp -R /root/database-homarr-backup/* /opt/homarr/database
|
||||
rm -rf /opt/homarr-${RELEASE}
|
||||
cd /opt/homarr
|
||||
yarn install &>/dev/null
|
||||
yarn build &>/dev/null
|
||||
if ! git pull; then
|
||||
echo "Already up to date."
|
||||
systemctl start homarr
|
||||
echo "No update required."
|
||||
exit
|
||||
fi
|
||||
yarn install
|
||||
yarn build
|
||||
systemctl start homarr
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
|
||||
@@ -22,8 +22,8 @@ APP="Home Assistant-Core"
|
||||
var_disk="8"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_os="ubuntu"
|
||||
var_version="24.04"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
@@ -85,7 +85,7 @@ function update_script() {
|
||||
|
||||
msg_info "Updating Home Assistant"
|
||||
source /srv/homeassistant/bin/activate
|
||||
pip install ${BR}--upgrade homeassistant &>/dev/null
|
||||
uv pip install ${BR}--upgrade homeassistant &>/dev/null
|
||||
msg_ok "Updated Home Assistant"
|
||||
|
||||
msg_info "Starting Home Assistant"
|
||||
@@ -121,7 +121,7 @@ function update_script() {
|
||||
else
|
||||
filebrowser config init -a '0.0.0.0' &>/dev/null
|
||||
filebrowser config set -a '0.0.0.0' &>/dev/null
|
||||
filebrowser users add admin changeme --perm.admin &>/dev/null
|
||||
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null
|
||||
fi
|
||||
msg_ok "Installed FileBrowser"
|
||||
|
||||
@@ -142,7 +142,7 @@ WantedBy=default.target" >$service_path
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "FileBrowser should be reachable by going to the following URL.
|
||||
${BL}http://$IP:8080${CL} admin|changeme\n"
|
||||
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ function update_script() {
|
||||
curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/v2.23.0/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null
|
||||
filebrowser config init -a '0.0.0.0' &>/dev/null
|
||||
filebrowser config set -a '0.0.0.0' &>/dev/null
|
||||
filebrowser users add admin changeme --perm.admin &>/dev/null
|
||||
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null
|
||||
msg_ok "Installed FileBrowser"
|
||||
|
||||
msg_info "Creating Service"
|
||||
@@ -125,7 +125,7 @@ WantedBy=default.target" >$service_path
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "FileBrowser should be reachable by going to the following URL.
|
||||
${BL}http://$IP:8080${CL} admin|changeme\n"
|
||||
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
94
ct/homebox.sh
Normal file
94
ct/homebox.sh
Normal file
@@ -0,0 +1,94 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ __ ____
|
||||
/ / / /___ ____ ___ ___ / __ )____ _ __
|
||||
/ /_/ / __ \/ __ `__ \/ _ \/ __ / __ \| |/_/
|
||||
/ __ / /_/ / / / / / / __/ /_/ / /_/ /> <
|
||||
/_/ /_/\____/_/ /_/ /_/\___/_____/\____/_/|_|
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="HomeBox"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /opt/homebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop homebox
|
||||
msg_ok "${APP} Stopped"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
rm -rf homebox_bak
|
||||
mv homebox homebox_bak
|
||||
wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
|
||||
chmod +x /opt/homebox
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated Homebox"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start homebox
|
||||
msg_ok "Started ${APP}"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:7745${CL} \n"
|
||||
@@ -59,14 +59,17 @@ if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exi
|
||||
if ! command -v npm >/dev/null 2>&1; then
|
||||
echo "Installing NPM..."
|
||||
apt-get install -y npm >/dev/null 2>&1
|
||||
npm install -g pnpm >/dev/null 2>&1
|
||||
echo "Installed NPM..."
|
||||
fi
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Updating Homepage to v${RELEASE} (Patience)"
|
||||
systemctl stop homepage
|
||||
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
|
||||
tar -xzf v${RELEASE}.tar.gz
|
||||
rm -rf v${RELEASE}.tar.gz
|
||||
cp -r homepage-${RELEASE}/* /opt/homepage/
|
||||
rm -rf homepage-${RELEASE}
|
||||
cd /opt/homepage
|
||||
@@ -74,7 +77,11 @@ npx update-browserslist-db@latest
|
||||
pnpm install
|
||||
pnpm build
|
||||
systemctl start homepage
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated Homepage to v${RELEASE}"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
18
ct/homer.sh
18
ct/homer.sh
@@ -59,11 +59,11 @@ msg_info "Stopping ${APP}"
|
||||
systemctl stop homer
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Backing up config.yml"
|
||||
msg_info "Backing up assets directory"
|
||||
cd ~
|
||||
cp -R /opt/homer/assets/config.yml config.yml
|
||||
cp -R /opt/homer/assets/tools tools
|
||||
msg_ok "Backed up config.yml and tools directory"
|
||||
mkdir -p assets-backup
|
||||
cp -R /opt/homer/assets/. assets-backup
|
||||
msg_ok "Backed up assets directory"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
rm -rf /opt/homer/*
|
||||
@@ -71,14 +71,14 @@ cd /opt/homer
|
||||
wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
|
||||
unzip homer.zip &>/dev/null
|
||||
msg_ok "Updated ${APP}"
|
||||
msg_info "Restoring conf.yml"
|
||||
|
||||
msg_info "Restoring assets directory"
|
||||
cd ~
|
||||
cp -R config.yml /opt/homer/assets
|
||||
cp -R tools /opt/homer/assets
|
||||
msg_ok "Restored config.yml and tools directory"
|
||||
cp -Rf assets-backup/. /opt/homer/assets/
|
||||
msg_ok "Restored assets directory"
|
||||
|
||||
msg_info "Cleaning"
|
||||
rm -rf config.yml tools /opt/homer/homer.zip
|
||||
rm -rf assets-backup /opt/homer/homer.zip
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
|
||||
67
ct/iventoy.sh
Normal file
67
ct/iventoy.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ _ __ __
|
||||
(_) | / /__ ____ / /_____ __ __
|
||||
/ /| | / / _ \/ __ \/ __/ __ \/ / / /
|
||||
/ / | |/ / __/ / / / /_/ /_/ / /_/ /
|
||||
/_/ |___/\___/_/ /_/\__/\____/\__, /
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="iVentoy"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
if [[ ! -d /opt/iventoy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:26000/ ${CL} \n"
|
||||
@@ -55,10 +55,20 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/jackett.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating ${APP}"
|
||||
wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
systemctl stop jackett
|
||||
rm -rf /opt/Jackett
|
||||
tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
|
||||
rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
systemctl start jackett
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
@@ -20,8 +20,8 @@ header_info
|
||||
echo -e "Loading..."
|
||||
APP="Jellyseerr"
|
||||
var_disk="8"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
@@ -55,19 +55,46 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/jellyseerr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your Jellyseerr LXC to 4vcpu and 4096RAM for the build process before continuing" 10 75
|
||||
if ! command -v pnpm &> /dev/null; then
|
||||
msg_error "pnpm not found. Installing..."
|
||||
npm install -g pnpm &>/dev/null
|
||||
else
|
||||
msg_ok "pnpm is already installed."
|
||||
fi
|
||||
msg_info "Updating $APP"
|
||||
systemctl stop jellyseerr
|
||||
cd /opt/jellyseerr
|
||||
output=$(git pull)
|
||||
git pull &>/dev/null
|
||||
output=$(git pull --no-rebase)
|
||||
if echo "$output" | grep -q "Already up to date."
|
||||
then
|
||||
msg_ok "$APP is already up to date."
|
||||
systemctl start jellyseerr
|
||||
exit
|
||||
fi
|
||||
yarn install &>/dev/null
|
||||
yarn build &>/dev/null
|
||||
systemctl stop jellyseerr
|
||||
export CYPRESS_INSTALL_BINARY=0
|
||||
pnpm install --frozen-lockfile &>/dev/null
|
||||
export NODE_OPTIONS="--max-old-space-size=3072"
|
||||
pnpm build &>/dev/null
|
||||
cat <<EOF >/etc/systemd/system/jellyseerr.service
|
||||
[Unit]
|
||||
Description=jellyseerr Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/jellyseerr/jellyseerr.conf
|
||||
Environment=NODE_ENV=production
|
||||
Type=exec
|
||||
WorkingDirectory=/opt/jellyseerr
|
||||
ExecStart=/usr/bin/node dist/index.js
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl start jellyseerr
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
@@ -77,6 +104,11 @@ start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 2048
|
||||
pct set $CTID -cores 2
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5055${CL} \n"
|
||||
|
||||
@@ -57,8 +57,32 @@ function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/keycloak.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
|
||||
msg_info "Updating packages"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
msg_info "Downloading Keycloak v$RELEASE"
|
||||
cd /opt
|
||||
wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
|
||||
$STD tar -xvf keycloak-$RELEASE.tar.gz
|
||||
|
||||
msg_info "Merging configuration files"
|
||||
cp -r keycloak/conf keycloak-$RELEASE
|
||||
cp -r keycloak/providers keycloak-$RELEASE
|
||||
cp -r keycloak/themes keycloak-$RELEASE
|
||||
|
||||
msg_info "Updating Keycloak"
|
||||
mv keycloak keycloak.old
|
||||
mv keycloak-$RELEASE keycloak
|
||||
|
||||
msg_info "Delete temporary installation files"
|
||||
rm keycloak-$RELEASE.tar.gz
|
||||
rm -rf keycloak.old
|
||||
|
||||
msg_info "Restating Keycloak"
|
||||
systemctl restart keycloak
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
@@ -69,4 +93,4 @@ description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8080${CL} \n"
|
||||
${BL}http://${IP}:8080/admin${CL} \n"
|
||||
|
||||
81
ct/kubo.sh
Normal file
81
ct/kubo.sh
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: ulmentflam
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ __ __
|
||||
/ //_/_ __/ /_ ____
|
||||
/ ,< / / / / __ \/ __ \
|
||||
/ /| / /_/ / /_/ / /_/ /
|
||||
/_/ |_\__,_/_.___/\____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Kubo"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /usr/local/kubo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
|
||||
tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
|
||||
systemctl restart ipfs.service
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
rm "kubo_${RELEASE}_linux-amd64.tar.gz"
|
||||
msg_ok "Updated $APP LXC"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5001/webui ${CL} \n"
|
||||
@@ -67,6 +67,7 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
|
||||
git pull
|
||||
yarn
|
||||
npx playwright install-deps
|
||||
yarn playwright install
|
||||
yarn prisma generate
|
||||
yarn build
|
||||
yarn prisma migrate deploy
|
||||
|
||||
73
ct/lldap.sh
Normal file
73
ct/lldap.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: remz1337
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __
|
||||
/ / /___/ /___ _____
|
||||
/ / / __ / __ `/ __ \
|
||||
/ / / /_/ / /_/ / /_/ /
|
||||
/_/_/\__,_/\__,_/ .___/
|
||||
/_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="lldap"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/lldap.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP"
|
||||
apt update
|
||||
apt upgrade -y lldap
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:17170${CL} \n"
|
||||
@@ -55,7 +55,7 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/mafl ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
RELEASE=$(curl -s https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
msg_info "Updating Mafl to v${RELEASE} (Patience)"
|
||||
systemctl stop mafl
|
||||
|
||||
68
ct/matterbridge.sh
Normal file
68
ct/matterbridge.sh
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ___ __ __ __ _ __
|
||||
/ |/ /___ _/ /_/ /____ _____/ /_ _____(_)___/ /___ ____
|
||||
/ /|_/ / __ `/ __/ __/ _ \/ ___/ __ \/ ___/ / __ / __ `/ _ \
|
||||
/ / / / /_/ / /_/ /_/ __/ / / /_/ / / / / /_/ / /_/ / __/
|
||||
/_/ /_/\__,_/\__/\__/\___/_/ /_.___/_/ /_/\__,_/\__, /\___/
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Matterbridge"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /root/Matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "Update via the Matterbridge UI"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8283${CL} \n"
|
||||
88
ct/memos.sh
Normal file
88
ct/memos.sh
Normal file
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ___
|
||||
/ |/ /__ ____ ___ ____ _____
|
||||
/ /|_/ / _ \/ __ `__ \/ __ \/ ___/
|
||||
/ / / / __/ / / / / / /_/ (__ )
|
||||
/_/ /_/\___/_/ /_/ /_/\____/____/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Memos"
|
||||
var_disk="7"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/memos ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP (Patience)"
|
||||
cd /opt/memos
|
||||
output=$(git pull --no-rebase)
|
||||
if echo "$output" | grep -q "Already up to date."
|
||||
then
|
||||
msg_ok "$APP is already up to date."
|
||||
exit
|
||||
fi
|
||||
systemctl stop memos
|
||||
cd /opt/memos/web
|
||||
pnpm i --frozen-lockfile &>/dev/null
|
||||
pnpm build &>/dev/null
|
||||
cd /opt/memos
|
||||
mkdir -p /opt/memos/server/dist
|
||||
cp -r web/dist/* /opt/memos/server/dist/
|
||||
cp -r web/dist/* /opt/memos/server/router/frontend/dist/
|
||||
go build -o /opt/memos/memos -tags=embed bin/memos/main.go &>/dev/null
|
||||
systemctl start memos
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:9030${CL} \n"
|
||||
100
ct/metube.sh
Normal file
100
ct/metube.sh
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ___ ______ __
|
||||
/ |/ /__/_ __/_ __/ /_ ___
|
||||
/ /|_/ / _ \/ / / / / / __ \/ _ \
|
||||
/ / / / __/ / / /_/ / /_/ / __/
|
||||
/_/ /_/\___/_/ \__,_/_.___/\___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="MeTube"
|
||||
var_disk="10"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/metube ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop metube
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating ${APP} to latest Git"
|
||||
cd /opt
|
||||
if [ -d metube_bak ]; then
|
||||
rm -rf metube_bak
|
||||
fi
|
||||
mv metube metube_bak
|
||||
git clone https://github.com/alexta69/metube /opt/metube >/dev/null 2>&1
|
||||
cd /opt/metube/ui
|
||||
npm install >/dev/null 2>&1
|
||||
node_modules/.bin/ng build >/dev/null 2>&1
|
||||
cd /opt/metube
|
||||
cp /opt/metube_bak/.env /opt/metube/
|
||||
pip3 install pipenv >/dev/null 2>&1
|
||||
pipenv install >/dev/null 2>&1
|
||||
|
||||
if [ -d "/opt/metube_bak" ]; then
|
||||
rm -rf /opt/metube_bak
|
||||
fi
|
||||
msg_ok "Updated ${APP} to latest Git"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
systemctl start metube
|
||||
sleep 1
|
||||
msg_ok "Started ${APP} Service"
|
||||
msg_ok "Updated Successfully!\n"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8081${CL} \n"
|
||||
@@ -8,22 +8,22 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ____ __ __ __ __
|
||||
/ /__/ __ \_____ / //_/_ __/ /_ ___ _________ ___ / /____ _____
|
||||
/ //_/ / / / ___/ / ,< / / / / __ \/ _ \/ ___/ __ \/ _ \/ __/ _ \/ ___/
|
||||
/ ,< / /_/ (__ ) / /| / /_/ / /_/ / __/ / / / / / __/ /_/ __(__ )
|
||||
/_/|_|\____/____/ /_/ |_\__,_/_.___/\___/_/ /_/ /_/\___/\__/\___/____/
|
||||
|
||||
__ ___ ____ ____
|
||||
/ |/ /___ ____ ____ _____ / __ \/ __ )
|
||||
/ /|_/ / __ \/ __ \/ __ `/ __ \/ / / / __ |
|
||||
/ / / / /_/ / / / / /_/ / /_/ / /_/ / /_/ /
|
||||
/_/ /_/\____/_/ /_/\__, /\____/_____/_____/
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="k0s"
|
||||
APP="MongoDB"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="11"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
@@ -54,7 +54,7 @@ function default_settings() {
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/k0s/k0s.yaml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
103
ct/myspeed.sh
Normal file
103
ct/myspeed.sh
Normal file
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ___ _____ __
|
||||
/ |/ /_ __/ ___/____ ___ ___ ____/ /
|
||||
/ /|_/ / / / /\__ \/ __ \/ _ \/ _ \/ __ /
|
||||
/ / / / /_/ /___/ / /_/ / __/ __/ /_/ /
|
||||
/_/ /_/\__, //____/ .___/\___/\___/\__,_/
|
||||
/____/ /_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="MySpeed"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/myspeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop myspeed
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
rm -rf myspeed_bak
|
||||
mv myspeed myspeed_bak
|
||||
wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip
|
||||
unzip -q MySpeed-$RELEASE.zip -d myspeed
|
||||
cd myspeed
|
||||
npm install >/dev/null 2>&1
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
systemctl start myspeed
|
||||
msg_ok "Started ${APP} Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf MySpeed-$RELEASE.zip
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_ok "Updated Successfully!\n"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5216${CL} \n"
|
||||
70
ct/mysql.sh
Normal file
70
ct/mysql.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
__ ___ _____ ____ __
|
||||
/ |/ /_ __/ ___// __ \ / /
|
||||
/ /|_/ / / / /\__ \/ / / / / /
|
||||
/ / / / /_/ /___/ / /_/ / / /___
|
||||
/_/ /_/\__, //____/\___\_\/_____/
|
||||
/____/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="MySQL"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /usr/share/keyrings/mysql.gpg ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
@@ -65,6 +65,7 @@ if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Install
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
npm update -g n8n &>/dev/null
|
||||
systemctl restart n8n
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
72
ct/neo4j.sh
Normal file
72
ct/neo4j.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: havardthom
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ __ __ __ _
|
||||
/ | / /__ ____ / // / (_)
|
||||
/ |/ / _ \/ __ \/ // /_/ /
|
||||
/ /| / __/ /_/ /__ __/ /
|
||||
/_/ |_/\___/\____/ /_/_/ /
|
||||
/___/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Neo4j"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/neo4j ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP}"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Browser should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:7474${CL} \n"
|
||||
@@ -23,7 +23,7 @@ var_disk="8"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="11"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
@@ -21,7 +21,7 @@ header_info
|
||||
echo -e "Loading..."
|
||||
APP="Nginx Proxy Manager"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
@@ -59,9 +59,10 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
if ! command -v pnpm &> /dev/null; then
|
||||
msg_info "Installing pnpm"
|
||||
export NODE_OPTIONS=--openssl-legacy-provider
|
||||
#export NODE_OPTIONS=--openssl-legacy-provider
|
||||
npm install -g pnpm@8.15 &>/dev/null
|
||||
msg_ok "Installed pnpm"
|
||||
fi
|
||||
@@ -168,6 +169,7 @@ EOF
|
||||
|
||||
msg_info "Starting Services"
|
||||
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
||||
sed -i 's/su npm npm/su root root/g' /etc/logrotate.d/nginx-proxy-manager
|
||||
sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg
|
||||
systemctl enable -q --now openresty
|
||||
systemctl enable -q --now npm
|
||||
@@ -185,6 +187,9 @@ start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:81${CL}\n"
|
||||
|
||||
71
ct/notifiarr.sh
Normal file
71
ct/notifiarr.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ __ __ _ _____
|
||||
/ | / /___ / /_(_) __(_)___ ___________
|
||||
/ |/ / __ \/ __/ / /_/ / __ `/ ___/ ___/
|
||||
/ /| / /_/ / /_/ / __/ / /_/ / / / /
|
||||
/_/ |_/\____/\__/_/_/ /_/\__,_/_/ /_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Notifiarr"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/apt/sources.list.d/golift.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5454${CL} \n"
|
||||
72
ct/nzbget.sh
Normal file
72
ct/nzbget.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: havardthom
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ _______ ____ ______ __
|
||||
/ | / /__ / / __ )/ ____/__ / /_
|
||||
/ |/ / / / / __ / / __/ _ \/ __/
|
||||
/ /| / / /__/ /_/ / /_/ / __/ /_
|
||||
/_/ |_/ /____/_____/\____/\___/\__/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="NZBGet"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /lib/systemd/system/nzbget.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:6789${CL} \n"
|
||||
72
ct/ollama.sh
Normal file
72
ct/ollama.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: havardthom
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ ____
|
||||
/ __ \/ / /___ _____ ___ ____ _
|
||||
/ / / / / / __ `/ __ `__ \/ __ `/
|
||||
/ /_/ / / / /_/ / / / / / / /_/ /
|
||||
\____/_/_/\__,_/_/ /_/ /_/\__,_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Ollama"
|
||||
var_disk="24"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_os="ubuntu"
|
||||
var_version="22.04"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/ollama ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP}"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:11434${CL} \n"
|
||||
@@ -29,7 +29,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
@@ -24,7 +24,7 @@ var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="11"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
85
ct/openwebui.sh
Normal file
85
ct/openwebui.sh
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: havardthom
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ _ __ __ __ ______
|
||||
/ __ \____ ___ ____ | | / /__ / /_ / / / / _/
|
||||
/ / / / __ \/ _ \/ __ \ | | /| / / _ \/ __ \/ / / // /
|
||||
/ /_/ / /_/ / __/ / / / | |/ |/ / __/ /_/ / /_/ // /
|
||||
\____/ .___/\___/_/ /_/ |__/|__/\___/_.___/\____/___/
|
||||
/_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Open WebUI"
|
||||
var_disk="16"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/open-webui ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} (Patience)"
|
||||
cd /opt/open-webui
|
||||
output=$(git pull --no-rebase)
|
||||
if echo "$output" | grep -q "Already up to date."
|
||||
then
|
||||
msg_ok "$APP is already up to date."
|
||||
exit
|
||||
fi
|
||||
systemctl stop open-webui.service
|
||||
npm install &>/dev/null
|
||||
export NODE_OPTIONS="--max-old-space-size=3584"
|
||||
npm run build &>/dev/null
|
||||
cd ./backend
|
||||
pip install -r requirements.txt -U &>/dev/null
|
||||
systemctl start open-webui.service
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8080${CL} \n"
|
||||
@@ -59,7 +59,6 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
SER=/etc/systemd/system/paperless-task-queue.service
|
||||
|
||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
||||
"1" "Update Paperless-ngx to $RELEASE" ON \
|
||||
@@ -67,51 +66,34 @@ function update_script() {
|
||||
3>&1 1>&2 2>&3)
|
||||
header_info
|
||||
if [ "$UPD" == "1" ]; then
|
||||
msg_info "Stopping Paperless-ngx"
|
||||
systemctl stop paperless-consumer paperless-webserver paperless-scheduler
|
||||
if [ -f "$SER" ]; then
|
||||
systemctl stop paperless-task-queue.service
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then
|
||||
msg_info "Updating Ghostscript"
|
||||
cd /tmp
|
||||
wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz
|
||||
tar -xzf ghostscript-10.04.0.tar.gz
|
||||
cd ghostscript-10.04.0
|
||||
./configure &>/dev/null
|
||||
make &>/dev/null
|
||||
sudo make install &>/dev/null
|
||||
rm -rf /tmp/ghostscript*
|
||||
msg_ok "Ghostscript updated to 10.04.0"
|
||||
fi
|
||||
sleep 1
|
||||
msg_ok "Stopped Paperless-ngx"
|
||||
msg_info "Stopping all Paperless-ngx Services"
|
||||
systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service
|
||||
msg_ok "Stopped all Paperless-ngx Services"
|
||||
|
||||
msg_info "Updating to ${RELEASE}"
|
||||
cd ~
|
||||
if [ "$(dpkg -l | awk '/libmariadb-dev-compat/ {print }' | wc -l)" != 1 ]; then apt-get install -y libmariadb-dev-compat; fi &>/dev/null
|
||||
wget https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz &>/dev/null
|
||||
tar -xf paperless-ngx-$RELEASE.tar.xz &>/dev/null
|
||||
wget -q https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz
|
||||
tar -xf paperless-ngx-$RELEASE.tar.xz
|
||||
cp -r /opt/paperless/paperless.conf paperless-ngx/
|
||||
cp -r paperless-ngx/* /opt/paperless/
|
||||
cd /opt/paperless
|
||||
pip install -r requirements.txt &>/dev/null
|
||||
cd /opt/paperless/src
|
||||
/usr/bin/python3 manage.py migrate &>/dev/null
|
||||
if [ -f "$SER" ]; then
|
||||
msg_ok "paperless-task-queue.service Exists."
|
||||
else
|
||||
cat <<EOF >/etc/systemd/system/paperless-task-queue.service
|
||||
[Unit]
|
||||
Description=Paperless Celery Workers
|
||||
Requires=redis.service
|
||||
[Service]
|
||||
WorkingDirectory=/opt/paperless/src
|
||||
ExecStart=celery --app paperless worker --loglevel INFO
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable paperless-task-queue &>/dev/null
|
||||
msg_ok "paperless-task-queue.service Created."
|
||||
fi
|
||||
cat <<EOF >/etc/systemd/system/paperless-scheduler.service
|
||||
[Unit]
|
||||
Description=Paperless Celery beat
|
||||
Requires=redis.service
|
||||
[Service]
|
||||
WorkingDirectory=/opt/paperless/src
|
||||
ExecStart=celery --app paperless beat --loglevel INFO
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated to ${RELEASE}"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
@@ -120,12 +102,14 @@ EOF
|
||||
rm -rf paperless-ngx
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting Paperless-ngx"
|
||||
systemctl daemon-reload
|
||||
msg_info "Starting all Paperless-ngx Services"
|
||||
systemctl start paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service
|
||||
sleep 1
|
||||
msg_ok "Started Paperless-ngx"
|
||||
msg_ok "Started all Paperless-ngx Services"
|
||||
msg_ok "Updated Successfully!\n"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "2" ]; then
|
||||
|
||||
92
ct/peanut.sh
Normal file
92
ct/peanut.sh
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: remz1337
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ _ ____ ________
|
||||
/ __ \___ ____ _/ | / / / / /_ __/
|
||||
/ /_/ / _ \/ __ `/ |/ / / / / / /
|
||||
/ ____/ __/ /_/ / /| / /_/ / / /
|
||||
/_/ \___/\__,_/_/ |_/\____/ /_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="PeaNUT"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/peanut.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
RELEASE=$(curl -sL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
systemctl stop peanut
|
||||
wget -qO peanut.tar.gz https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}
|
||||
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1
|
||||
rm peanut.tar.gz
|
||||
cd /opt/peanut
|
||||
pnpm i &>/dev/null
|
||||
pnpm run build &>/dev/null
|
||||
cp -r .next/static .next/standalone/.next/
|
||||
mkdir -p /opt/peanut/.next/standalone/config
|
||||
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
|
||||
systemctl start peanut
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated $APP to ${RELEASE}"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 1024
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
73
ct/petio.sh
Normal file
73
ct/petio.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __ _
|
||||
/ __ \___ / /_(_)___
|
||||
/ /_/ / _ \/ __/ / __ \
|
||||
/ ____/ __/ /_/ / /_/ /
|
||||
/_/ \___/\__/_/\____/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Petio"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_os="ubuntu"
|
||||
var_version="20.04"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/Petio ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP"
|
||||
systemctl stop petio.service
|
||||
wget https://petio.tv/releases/latest -O petio-latest.zip
|
||||
unzip petio-latest.zip -d /opt/Petio
|
||||
systemctl start petio.service
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:7777${CL} \n"
|
||||
@@ -64,6 +64,7 @@ function update_script() {
|
||||
msg_ok "Stopped PhotoPrism"
|
||||
|
||||
msg_info "Updating PhotoPrism"
|
||||
apt-get install -y libvips42 &>/dev/null
|
||||
wget -q -cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1
|
||||
msg_ok "Updated PhotoPrism"
|
||||
|
||||
|
||||
@@ -55,10 +55,10 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/pihole ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
msg_info "Updating ${APP}"
|
||||
set +e
|
||||
pihole -up
|
||||
msg_ok "Updated ${APP}"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/pingvin-share ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Stopping Pingvin Share"
|
||||
pm2 stop pingvin-share-backend pingvin-share-frontend &>/dev/null
|
||||
systemctl stop pm2-root.service
|
||||
msg_ok "Stopped Pingvin Share"
|
||||
|
||||
msg_info "Updating Pingvin Share"
|
||||
@@ -64,13 +64,15 @@ cd /opt/pingvin-share
|
||||
git fetch --tags
|
||||
git checkout $(git describe --tags `git rev-list --tags --max-count=1`) &>/dev/null
|
||||
cd backend
|
||||
npm install &>/dev/null
|
||||
npm run build &>/dev/null
|
||||
cd ../frontend
|
||||
npm install &>/dev/null
|
||||
npm run build &>/dev/null
|
||||
msg_ok "Updated Pingvin Share"
|
||||
|
||||
msg_info "Starting Pingvin Share"
|
||||
pm2 start pingvin-share-backend pingvin-share-frontend &>/dev/null
|
||||
systemctl start pm2-root.service
|
||||
msg_ok "Started Pingvin Share"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
|
||||
@@ -29,7 +29,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
61
ct/pocketbase.sh
Normal file
61
ct/pocketbase.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __ __ __
|
||||
/ __ \____ _____/ /_____ / /_/ /_ ____ _________
|
||||
/ /_/ / __ \/ ___/ //_/ _ \/ __/ __ \/ __ `/ ___/ _ \
|
||||
/ ____/ /_/ / /__/ ,< / __/ /_/ /_/ / /_/ (__ ) __/
|
||||
/_/ \____/\___/_/|_|\___/\__/_.___/\__,_/____/\___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Pocketbase"
|
||||
var_disk="8"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8080/_${CL}"
|
||||
@@ -102,7 +102,7 @@ if [ "$UPD" == "3" ]; then
|
||||
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
||||
filebrowser config init -a '0.0.0.0' &>/dev/null
|
||||
filebrowser config set -a '0.0.0.0' &>/dev/null
|
||||
filebrowser users add admin changeme --perm.admin &>/dev/null
|
||||
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null
|
||||
msg_ok "Installed FileBrowser"
|
||||
|
||||
msg_info "Creating Service"
|
||||
@@ -122,7 +122,7 @@ if [ "$UPD" == "3" ]; then
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "FileBrowser should be reachable by going to the following URL.
|
||||
${BL}http://$IP:8080${CL} admin|changeme\n"
|
||||
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n"
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "4" ]; then
|
||||
|
||||
@@ -55,7 +55,30 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/prometheus.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop prometheus
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz
|
||||
tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz
|
||||
cd prometheus-${RELEASE}.linux-amd64
|
||||
cp -rf prometheus promtool /usr/local/bin/
|
||||
cp -rf consoles/ console_libraries/ /etc/prometheus/
|
||||
cd ~
|
||||
rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start prometheus
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
85
ct/rabbitmq.sh
Normal file
85
ct/rabbitmq.sh
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ __ __ _ __ __ _______
|
||||
/ __ \____ _/ /_ / /_ (_) /_/ |/ / __ \
|
||||
/ /_/ / __ `/ __ \/ __ \/ / __/ /|_/ / / / /
|
||||
/ _, _/ /_/ / /_/ / /_/ / / /_/ / / / /_/ /
|
||||
/_/ |_|\__,_/_.___/_.___/_/\__/_/ /_/\___\_\
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="RabbitMQ"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /etc/rabbitmq ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop rabbitmq-server
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating..."
|
||||
apt install --only-upgrade rabbitmq-server &>/dev/null
|
||||
msg_ok "Update Successfully"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start rabbitmq-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:15672${CL} \n"
|
||||
@@ -55,10 +55,7 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated $APP LXC"
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -55,16 +55,21 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/sabnzbd ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP"
|
||||
systemctl stop sabnzbd.service
|
||||
RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
systemctl stop sabnzbd.service
|
||||
tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) &>/dev/null
|
||||
\cp -r SABnzbd-${RELEASE}/* /opt/sabnzbd &>/dev/null
|
||||
rm -rf SABnzbd-${RELEASE}
|
||||
cd /opt/sabnzbd
|
||||
python3 -m pip install -r requirements.txt &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
systemctl start sabnzbd.service
|
||||
msg_ok "Updated $APP"
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
else
|
||||
msg_info "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
103
ct/spoolman.sh
Normal file
103
ct/spoolman.sh
Normal file
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_____ __
|
||||
/ ___/____ ____ ____ / /___ ___ ____ _____
|
||||
\__ \/ __ \/ __ \/ __ \/ / __ `__ \/ __ `/ __ \
|
||||
___/ / /_/ / /_/ / /_/ / / / / / / / /_/ / / / /
|
||||
/____/ .___/\____/\____/_/_/ /_/ /_/\__,_/_/ /_/
|
||||
/_/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Spoolman"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/spoolman ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop spoolman
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
rm -rf spoolman_bak
|
||||
mv spoolman spoolman_bak
|
||||
wget -q https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip
|
||||
unzip -q spoolman.zip -d spoolman
|
||||
cd spoolman
|
||||
pip3 install -r requirements.txt >/dev/null 2>&1
|
||||
wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
systemctl start spoolman
|
||||
msg_ok "Started ${APP} Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/spoolman.zip
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_ok "Updated Successfully!\n"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:7912${CL} \n"
|
||||
@@ -29,7 +29,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
73
ct/threadfin.sh
Normal file
73
ct/threadfin.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
________ _______
|
||||
/_ __/ /_ ________ ____ _____/ / __(_)___
|
||||
/ / / __ \/ ___/ _ \/ __ `/ __ / /_/ / __ \
|
||||
/ / / / / / / / __/ /_/ / /_/ / __/ / / / /
|
||||
/_/ /_/ /_/_/ \___/\__,_/\__,_/_/ /_/_/ /_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Threadfin"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/threadfin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP"
|
||||
systemctl stop threadfin.service
|
||||
wget -q -O /opt/threadfin/threadfin 'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'
|
||||
chmod +x /opt/threadfin/threadfin
|
||||
systemctl start threadfin.service
|
||||
msg_ok "Updated $APP"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:34400/web${CL} \n"
|
||||
115
ct/tianji.sh
Normal file
115
ct/tianji.sh
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_______ _ _
|
||||
/_ __(_)___ _____ (_|_)
|
||||
/ / / / __ `/ __ \ / / /
|
||||
/ / / / /_/ / / / / / / /
|
||||
/_/ /_/\__,_/_/ /_/_/ /_/
|
||||
/___/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Tianji"
|
||||
var_disk="12"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/tianji ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop tianji
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
cp /opt/tianji/src/server/.env /opt/.env
|
||||
mv /opt/tianji /opt/tianji_bak
|
||||
wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv tianji-${RELEASE} /opt/tianji
|
||||
cd tianji
|
||||
pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1
|
||||
pnpm build:static >/dev/null 2>&1
|
||||
pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1
|
||||
mkdir -p ./src/server/public >/dev/null 2>&1
|
||||
cp -r ./geo ./src/server/public >/dev/null 2>&1
|
||||
pnpm build:server >/dev/null 2>&1
|
||||
mv /opt/.env /opt/tianji/src/server/.env
|
||||
cd src/server
|
||||
pnpm db:migrate:apply >/dev/null 2>&1
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start tianji
|
||||
msg_ok "Started ${APP}"
|
||||
msg_info "Cleaning up"
|
||||
rm -R /opt/v${RELEASE}.zip
|
||||
rm -rf /opt/tianji_bak
|
||||
rm -rf /opt/tianji/src/client
|
||||
rm -rf /opt/tianji/website
|
||||
rm -rf /opt/tianji/reporter
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}."
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 1024
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:12345${CL} \n"
|
||||
69
ct/traccar.sh
Normal file
69
ct/traccar.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______
|
||||
/_ __/________ _______________ ______
|
||||
/ / / ___/ __ `/ ___/ ___/ __ `/ ___/
|
||||
/ / / / / /_/ / /__/ /__/ /_/ / /
|
||||
/_/ /_/ \__,_/\___/\___/\__,_/_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Traccar"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/traccar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8082${CL} \n"
|
||||
79
ct/traefik.sh
Normal file
79
ct/traefik.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______ _____ __
|
||||
/_ __/________ ____ / __(_) /__
|
||||
/ / / ___/ __ `/ _ \/ /_/ / //_/
|
||||
/ / / / / /_/ / __/ __/ / ,<
|
||||
/_/ /_/ \__,_/\___/_/ /_/_/|_|
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Traefik"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
|
||||
msg_info "Updating $APP LXC"
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
|
||||
tar -C /tmp -xzf traefik*.tar.gz
|
||||
mv /tmp/traefik /usr/bin/
|
||||
rm -rf traefik*.tar.gz
|
||||
systemctl restart traefik.service
|
||||
msg_ok "Updated $APP LXC"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8080${CL} \n"
|
||||
@@ -55,23 +55,21 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/zadam/trilium/releases/latest |
|
||||
grep "tag_name" |
|
||||
awk '{print substr($2, 3, length($2)-4) }')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop trilium.service
|
||||
sleep 1
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating to v${RELEASE}"
|
||||
wget -q https://github.com/zadam/trilium/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
|
||||
tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz &>/dev/null
|
||||
msg_info "Updating to ${RELEASE}"
|
||||
wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
|
||||
tar -xf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
|
||||
cp -r trilium-linux-x64-server/* /opt/trilium/
|
||||
msg_ok "Updated to v${RELEASE}"
|
||||
msg_ok "Updated to ${RELEASE}"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf trilium-linux-x64-server-$RELEASE.tar.xz trilium-linux-x64-server
|
||||
rm -rf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz trilium-linux-x64-server
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
|
||||
@@ -29,7 +29,7 @@ color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="0"
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
|
||||
93
ct/umami.sh
Normal file
93
ct/umami.sh
Normal file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_
|
||||
__ ______ ___ ____ _____ ___ (_)
|
||||
/ / / / __ `__ \/ __ `/ __ `__ \/ /
|
||||
/ /_/ / / / / / / /_/ / / / / / / /
|
||||
\__,_/_/ /_/ /_/\__,_/_/ /_/ /_/_/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Umami"
|
||||
var_disk="12"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/umami ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop umami
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/umami
|
||||
git pull
|
||||
yarn install
|
||||
yarn build
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start umami
|
||||
msg_ok "Started ${APP}"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -memory 1024
|
||||
pct set $CTID -cores 1
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
@@ -17,6 +17,10 @@ cat <<"EOF"
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
|
||||
echo "AVX instruction set is not supported on this CPU."
|
||||
exit
|
||||
fi
|
||||
echo -e "Loading..."
|
||||
APP="Unifi"
|
||||
var_disk="8"
|
||||
|
||||
@@ -21,7 +21,7 @@ echo -e "Loading..."
|
||||
APP="Vaultwarden"
|
||||
var_disk="6"
|
||||
var_cpu="4"
|
||||
var_ram="4096"
|
||||
var_ram="5120"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
@@ -57,6 +57,7 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest |
|
||||
grep "tag_name" |
|
||||
awk '{print substr($2, 2, length($2)-3) }')
|
||||
@@ -72,7 +73,7 @@ function update_script() {
|
||||
|
||||
header_info
|
||||
if [ "$UPD" == "1" ]; then
|
||||
echo -e "\n ⚠️ Ensure you set 4vCPU & 4096MiB RAM minimum!!! \n"
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
|
||||
msg_info "Stopping Vaultwarden"
|
||||
systemctl stop vaultwarden.service
|
||||
msg_ok "Stopped Vaultwarden"
|
||||
@@ -128,6 +129,9 @@ function update_script() {
|
||||
if ! command -v argon2 >/dev/null 2>&1; then apt-get install -y argon2 &>/dev/null; fi
|
||||
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
|
||||
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
|
||||
if [[ -f /opt/vaultwarden/data/config.json ]]; then
|
||||
sed -i "s|\"admin_token\":.*|\"admin_token\": \"${TOKEN}\"|" /opt/vaultwarden/data/config.json
|
||||
fi
|
||||
systemctl restart vaultwarden
|
||||
fi
|
||||
exit
|
||||
|
||||
99
ct/wallos.sh
Normal file
99
ct/wallos.sh
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ __ ____
|
||||
| | / /___ _/ / /___ _____
|
||||
| | /| / / __ `/ / / __ \/ ___/
|
||||
| |/ |/ / /_/ / / / /_/ (__ )
|
||||
|__/|__/\__,_/_/_/\____/____/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Wallos"
|
||||
var_disk="5"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/wallos ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip"
|
||||
mv /opt/wallos/db/wallos.db /opt/wallos.db
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv Wallos-${RELEASE} /opt/wallos
|
||||
rm -rf /opt/wallos/db/wallos.empty.db
|
||||
mv /opt/wallos.db /opt/wallos/db/wallos.db
|
||||
chown -R www-data:www-data /opt/wallos
|
||||
chmod -R 755 /opt/wallos
|
||||
curl http://localhost/endpoints/db/migrate.php &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Reload Apache2"
|
||||
systemctl reload apache2
|
||||
msg_ok "Apache2 Reloaded"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -R /opt/v${RELEASE}.zip
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP} ${CL} \n"
|
||||
@@ -23,8 +23,8 @@ header_info
|
||||
echo -e "Loading..."
|
||||
APP="Wastebin"
|
||||
var_disk="4"
|
||||
var_cpu="4"
|
||||
var_ram="2048"
|
||||
var_cpu="1"
|
||||
var_ram="1024"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
@@ -58,27 +58,18 @@ function default_settings() {
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping Wastebin"
|
||||
systemctl stop wastebin
|
||||
msg_ok "Wastebin Stopped"
|
||||
|
||||
msg_info "Updating Wastebin"
|
||||
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
cd /opt
|
||||
if [ -d wastebin_bak ]; then
|
||||
rm -rf wastebin_bak
|
||||
fi
|
||||
mv wastebin wastebin_bak
|
||||
wget -q "https://github.com/matze/wastebin/archive/refs/tags/${RELEASE}.zip"
|
||||
unzip -q ${RELEASE}.zip
|
||||
mv wastebin-${RELEASE} /opt/wastebin
|
||||
cd /opt/wastebin
|
||||
cargo update -q
|
||||
cargo build -q --release
|
||||
wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||
tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||
cp -f wastebin /opt/wastebin/
|
||||
chmod +x /opt/wastebin/wastebin
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated Wastebin"
|
||||
|
||||
msg_info "Starting Wastebin"
|
||||
@@ -86,11 +77,12 @@ systemctl start wastebin
|
||||
msg_ok "Started Wastebin"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
cd /opt
|
||||
rm -R ${RELEASE}.zip
|
||||
rm -R wastebin_bak
|
||||
rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -98,10 +90,6 @@ start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_info "Setting Container to Normal Resources"
|
||||
pct set $CTID -cores 2
|
||||
msg_ok "Set Container to Normal Resources"
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:8088${CL} \n"
|
||||
|
||||
@@ -57,6 +57,7 @@ header_info
|
||||
if [[ ! -f /usr/local/bin/whoogle-search ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
pip3 install whoogle-search --upgrade &>/dev/null
|
||||
systemctl restart whoogle.service
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ EOF
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Wireguard"
|
||||
var_disk="2"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="11"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
@@ -53,67 +53,13 @@ function default_settings() {
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
if [[ ! -d /etc/pivpn/wireguard ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
||||
"1" "Update ${APP} LXC" ON \
|
||||
"2" "Install WGDashboard" OFF \
|
||||
3>&1 1>&2 2>&3)
|
||||
header_info
|
||||
if [ "$UPD" == "1" ]; then
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
fi
|
||||
if [ "$UPD" == "2" ]; then
|
||||
if [[ -f /etc/systemd/system/wg-dashboard.service ]]; then
|
||||
msg_error "Existing WGDashboard Installation Found!";
|
||||
exit
|
||||
fi
|
||||
IP=$(hostname -I | awk '{print $1}')
|
||||
msg_info "Installing Python3-pip"
|
||||
apt-get install -y python3-pip &>/dev/null
|
||||
pip install flask &>/dev/null
|
||||
pip install ifcfg &>/dev/null
|
||||
pip install flask_qrcode &>/dev/null
|
||||
pip install icmplib &>/dev/null
|
||||
msg_ok "Installed Python3-pip"
|
||||
|
||||
msg_info "Installing WGDashboard"
|
||||
WGDREL=$(curl -s https://api.github.com/repos/donaldzou/WGDashboard/releases/latest |
|
||||
grep "tag_name" |
|
||||
awk '{print substr($2, 2, length($2)-3) }')
|
||||
|
||||
git clone -b ${WGDREL} https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard &>/dev/null
|
||||
if [[ ! -d /etc/wireguard ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
apt-get update
|
||||
apt-get -y upgrade
|
||||
sleep 2
|
||||
cd /etc/wgdashboard/src
|
||||
sudo chmod u+x wgd.sh
|
||||
sudo ./wgd.sh install &>/dev/null
|
||||
sudo chmod -R 755 /etc/wireguard
|
||||
msg_ok "Installed WGDashboard"
|
||||
|
||||
msg_info "Creating Service"
|
||||
service_path="/etc/systemd/system/wg-dashboard.service"
|
||||
echo "[Unit]
|
||||
After=systemd-networkd.service
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/etc/wgdashboard/src
|
||||
ExecStart=/usr/bin/python3 /etc/wgdashboard/src/dashboard.py
|
||||
Restart=always
|
||||
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target" >$service_path
|
||||
chmod 664 /etc/systemd/system/wg-dashboard.service
|
||||
systemctl daemon-reload
|
||||
systemctl enable wg-dashboard.service &>/dev/null
|
||||
systemctl start wg-dashboard.service &>/dev/null
|
||||
msg_ok "Created Service"
|
||||
echo -e "WGDashboard should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:10086${CL} admin|admin \n"
|
||||
./wgd.sh update
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
start
|
||||
@@ -121,3 +67,5 @@ build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "WGDashboard should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:10086${CL} admin|admin \n"
|
||||
|
||||
72
ct/zabbix.sh
Normal file
72
ct/zabbix.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_____ __ __ _
|
||||
/__ / ____ _/ /_ / /_ (_) __
|
||||
/ / / __ `/ __ \/ __ \/ / |/_/
|
||||
/ /__/ /_/ / /_/ / /_/ / /> <
|
||||
/____/\__,_/_.___/_.___/_/_/|_|
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Zabbix"
|
||||
var_disk="6"
|
||||
var_cpu="2"
|
||||
var_ram="4096"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating $APP LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
systemctl restart zabbix-server
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}/zabbix${CL} \n"
|
||||
101
ct/zipline.sh
Normal file
101
ct/zipline.sh
Normal file
@@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_____ _ ___
|
||||
/__ / (_)___ / (_)___ ___
|
||||
/ / / / __ \/ / / __ \/ _ \
|
||||
/ /__/ / /_/ / / / / / / __/
|
||||
/____/_/ .___/_/_/_/ /_/\___/
|
||||
/_/
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Zipline"
|
||||
var_disk="5"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/zipline ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop zipline
|
||||
msg_ok "${APP} Stopped"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cp /opt/zipline/.env /opt/
|
||||
rm -R /opt/zipline
|
||||
wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv zipline-${RELEASE} /opt/zipline
|
||||
cd /opt/zipline
|
||||
mv /opt/.env /opt/zipline/.env
|
||||
yarn install &>/dev/null
|
||||
yarn build &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start zipline
|
||||
msg_ok "Started ${APP}"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf v${RELEASE}.zip
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
||||
19
ct/zoraxy.sh
19
ct/zoraxy.sh
@@ -19,7 +19,7 @@ EOF
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Zoraxy"
|
||||
var_disk="4"
|
||||
var_disk="6"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
@@ -54,8 +54,21 @@ function default_settings() {
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/zoraxy/src ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
if [[ ! -d /opt/zoraxy/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
systemctl stop zoraxy
|
||||
wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64"
|
||||
rm /opt/zoraxy/zoraxy
|
||||
mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
|
||||
chmod +x /opt/zoraxy/zoraxy
|
||||
systemctl start zoraxy
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated $APP"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,13 @@ msg_ok "Installed Node.js"
|
||||
|
||||
msg_info "Installing Actual Budget"
|
||||
$STD git clone https://github.com/actualbudget/actual-server.git /opt/actualbudget
|
||||
mkdir -p /opt/actualbudget/server-files
|
||||
chown -R root:root /opt/actualbudget/server-files
|
||||
chmod 755 /opt/actualbudget/server-files
|
||||
cat <<EOF > /opt/actualbudget/.env
|
||||
ACTUAL_UPLOAD_DIR=/opt/actualbudget/server-files
|
||||
PORT=5006
|
||||
EOF
|
||||
cd /opt/actualbudget
|
||||
$STD yarn install
|
||||
msg_ok "Installed Actual Budget"
|
||||
@@ -46,9 +53,14 @@ Description=Actual Budget Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/actualbudget
|
||||
EnvironmentFile=/opt/actualbudget/.env
|
||||
ExecStart=/usr/bin/yarn start
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -60,6 +72,6 @@ motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get autoremove
|
||||
$STD apt-get autoclean
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -51,6 +51,6 @@ motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get autoremove
|
||||
$STD apt-get autoclean
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
175
install/adventurelog-install.sh
Normal file
175
install/adventurelog-install.sh
Normal file
@@ -0,0 +1,175 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck
|
||||
# Co-Author: MickLesk (Canbiz)
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
# Source: https://github.com/seanmorley15/AdventureLog
|
||||
|
||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
gpg \
|
||||
curl \
|
||||
sudo \
|
||||
mc \
|
||||
gdal-bin \
|
||||
libgdal-dev \
|
||||
git \
|
||||
python3-venv \
|
||||
python3-pip
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Setting up Node.js Repository"
|
||||
mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
||||
msg_ok "Set up Node.js Repository"
|
||||
|
||||
msg_info "Setting up PostgreSQL Repository"
|
||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
||||
msg_ok "Set up PostgreSQL Repository"
|
||||
|
||||
msg_info "Installing Node.js"
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y nodejs
|
||||
$STD npm install -g pnpm
|
||||
msg_ok "Installed Node.js"
|
||||
|
||||
msg_info "Install/Set up PostgreSQL Database"
|
||||
$STD apt-get install -y postgresql-16 postgresql-16-postgis
|
||||
DB_NAME="adventurelog_db"
|
||||
DB_USER="adventurelog_user"
|
||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||
SECRET_KEY="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
|
||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
|
||||
$STD sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS postgis;" $DB_NAME
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
||||
{
|
||||
echo "AdventureLog-Credentials"
|
||||
echo "AdventureLog Database User: $DB_USER"
|
||||
echo "AdventureLog Database Password: $DB_PASS"
|
||||
echo "AdventureLog Database Name: $DB_NAME"
|
||||
echo "AdventureLog Secret: $SECRET_KEY"
|
||||
} >> ~/adventurelog.creds
|
||||
msg_ok "Set up PostgreSQL"
|
||||
|
||||
msg_info "Installing AdventureLog (Patience)"
|
||||
DJANGO_ADMIN_USER="djangoadmin"
|
||||
DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||
LOCAL_IP="$(hostname -I | awk '{print $1}')"
|
||||
cd /opt
|
||||
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv AdventureLog-${RELEASE} /opt/adventurelog
|
||||
cat <<EOF > /opt/adventurelog/backend/server/.env
|
||||
PGHOST='localhost'
|
||||
PGDATABASE='${DB_NAME}'
|
||||
PGUSER='${DB_USER}'
|
||||
PGPASSWORD='${DB_PASS}'
|
||||
SECRET_KEY='${SECRET_KEY}'
|
||||
PUBLIC_URL='http://$LOCAL_IP:8000'
|
||||
DEBUG=True
|
||||
FRONTEND_URL='http://$LOCAL_IP:3000'
|
||||
CSRF_TRUSTED_ORIGINS='http://127.0.0.1:3000,http://localhost:3000,http://$LOCAL_IP:3000'
|
||||
DJANGO_ADMIN_USERNAME='${DJANGO_ADMIN_USER}'
|
||||
DJANGO_ADMIN_PASSWORD='${DJANGO_ADMIN_PASS}'
|
||||
DISABLE_REGISTRATION=False
|
||||
# EMAIL_BACKEND='email'
|
||||
# EMAIL_HOST='smtp.gmail.com'
|
||||
# EMAIL_USE_TLS=False
|
||||
# EMAIL_PORT=587
|
||||
# EMAIL_USE_SSL=True
|
||||
# EMAIL_HOST_USER='user'
|
||||
# EMAIL_HOST_PASSWORD='password'
|
||||
# DEFAULT_FROM_EMAIL='user@example.com'
|
||||
EOF
|
||||
cd /opt/adventurelog/backend/server
|
||||
mkdir -p /opt/adventurelog/backend/server/media
|
||||
$STD pip install --upgrade pip
|
||||
$STD pip install -r requirements.txt
|
||||
$STD python3 manage.py collectstatic --noinput
|
||||
$STD python3 manage.py migrate
|
||||
$STD python3 manage.py download-countries
|
||||
cat <<EOF > /opt/adventurelog/frontend/.env
|
||||
PUBLIC_SERVER_URL=http://$LOCAL_IP:8000
|
||||
BODY_SIZE_LIMIT=Infinity
|
||||
ORIGIN='http://$LOCAL_IP:3000'
|
||||
EOF
|
||||
cd /opt/adventurelog/frontend
|
||||
$STD pnpm i
|
||||
$STD pnpm build
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
msg_ok "Installed AdventureLog"
|
||||
|
||||
msg_info "Setting up Django Admin"
|
||||
$STD python3 /opt/adventurelog/backend/server/manage.py shell << EOF
|
||||
from django.contrib.auth import get_user_model
|
||||
UserModel = get_user_model()
|
||||
user = UserModel.objects.create_user('$DJANGO_ADMIN_USER', password='$DJANGO_ADMIN_PASS')
|
||||
user.is_superuser = True
|
||||
user.is_staff = True
|
||||
user.save()
|
||||
EOF
|
||||
{
|
||||
echo ""
|
||||
echo "Django-Credentials"
|
||||
echo "Django Admin User: $DJANGO_ADMIN_USER"
|
||||
echo "Django Admin Password: $DJANGO_ADMIN_PASS"
|
||||
} >> ~/adventurelog.creds
|
||||
msg_ok "Setup Django Admin"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/adventurelog-backend.service
|
||||
[Unit]
|
||||
Description=AdventureLog Backend Service
|
||||
After=network.target postgresql.service
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/adventurelog/backend/server
|
||||
ExecStart=python3 manage.py runserver 0.0.0.0:8000
|
||||
Restart=always
|
||||
EnvironmentFile=/opt/adventurelog/backend/server/.env
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
cat <<EOF >/etc/systemd/system/adventurelog-frontend.service
|
||||
[Unit]
|
||||
Description=AdventureLog SvelteKit Frontend Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/adventurelog/frontend
|
||||
ExecStart=/usr/bin/node build 127.0.0.1:3000
|
||||
Restart=always
|
||||
EnvironmentFile=/opt/adventurelog/frontend/.env
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now adventurelog-backend.service
|
||||
systemctl enable -q --now adventurelog-frontend.service
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
@@ -58,6 +58,6 @@ motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get autoremove
|
||||
$STD apt-get autoclean
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -17,6 +17,7 @@ msg_info "Installing Dependencies"
|
||||
$STD apk add newt
|
||||
$STD apk add curl
|
||||
$STD apk add openssh
|
||||
$STD apk add tzdata
|
||||
$STD apk add nano
|
||||
$STD apk add mc
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user